# Is angular/radial averaging necessary when converting 2d structurefactor into 1d plot?

28 views (last 30 days)
Joe Zeng on 12 May 2024
Commented: Joe Zeng on 25 May 2024 at 10:29
I successfully calculated the 2D structure factors of the system, which I want to convert into a 1D plot. Since what I want to study is the hyperuniformity of the system, I need to obtain the structure factor behavior at k as small as possible.
When I use the angular averaging method, the results increase at larger small k, which is not conducive to my use of it to analyze hyperuniformity. The results obtained without averaging perform well, but I think this does not represent the actual changes in physical properties, because as k increases, more data are added, and the overall result must become larger.
So I hope someone can answer the following questions for me:
1. Is angle averaging necessary?
2. Are the results obtained without using angle averaging meaningful?
3. If I have to use angular averaging, how do I solve the problem I'm experiencing?
Thank you a lot.

Xuemao Zhou on 24 May 2024 at 10:10
It accurs to me that you have averaged the S(q) without normalized by the area of the "ring" from q to q+dq. But, if you convert the vetor q to its magnitude, and average S(|q|) by binning the |q| array, you should also avoid this explosion in high q. But, let me know if you have solve this problem.
Joe Zeng on 25 May 2024 at 10:29
I noticed that you commented on both of my questions. I will answer and add to what you raised.
The system that I used is a two-dimensional particle system, and there are some differences between the calculations of structure factor in two- and three-dimensional system.
You can search online or refer to other papers for more detailed derivation.
The Bessel function is no more than a transformation of another equation, I only used it to make my calculating process cleaner.
And yes, I have already obtained the result of structure factor, you may wanna try to get the two-dimensional correlation function first by binning the distances, and apply Fourier Transform to it, you may get a correct result of the S(q) you wanted.
Hope that these are helpful to you.
Finally, I'm still working on optimizing my results and thank you for your suggestions.

### Categories

Find more on Discrete Fourier and Cosine Transforms in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!