I have a set of data that I wish to express in polar coordinates.
The data represents the function $f(k_x,k_y)$ in the integral below
$ \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} dk_x dk_y f(k_x,k_y) = \int_0^{2\pi} d \theta \int_0^\infty dk \, n(k) $.
I am looking to find the corresponding function $n(k)$ in polar coordinates, where $k = \sqrt{k_x^2 + k_y^2}$ and it's possible to write $k_x = k \cos \theta$, $k_y = k \sin \theta$.
With a analytic function, mathematica can easily do this: if the function is f, then the following
Integrate[f[k Cos[\[Theta]], k Sin[\[Theta]]], {\[Theta], 0, 2 \[Pi]}]
easily gives me the right function. However, instead of an analytic function I tried to make a function by interpolating my dataset with
f=ListInterpolate[data]
Now, I can no longer integrate out the $\theta$ dependence. I have looked at directly transforming the data as a list, but could not find an appropriate transform. Is there a way to get the interpolated function to behave, or perhaps a much more obvious method of doing this that I'm missing?
(The data I am interpolating is of the form
{{ z@k_x1@k_y1, z@k_x2@k_y1 ...},{z@k_x1@k_y2,z@k_x2@k_y2 }...}
i.e no explicit $k_x$ and $k_y$ coordinates to work with.)