Best way to convert from a 1D matrix to a 3D matrix with isotropic distribution

1 Ansicht (letzte 30 Tage)
I have 1D data which has values at equally spaced intervals from r=0 to r=r, where r is a distance i.e.
r x
0.0 1.16000
0.2 1.21000
0.5 1.24000
0.7 1.25000
0.9 1.24000
1.2 1.22000
1.4 1.21000
1.6 1.18000
etc
This data is isotropic (from r=0) in three dimensions, so I want to go from a 1D dataset to 3D. I thought that the best option may be to convert to spherical polar coordinates using the function cart2pol and writing a For loop to loop around all values of theta and phi, filling in the values, then convert back to cartesian coodinates. However, I know that for loops can be time consuming computationally in Matlab and wondered if there was a better way of doing it? I am using Matlab version R2011B with the image processing toolbox. Thanks!
  2 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 4 Feb. 2014
The conversion is based on what? How can use cart2pol with one 1-D array?
Catherine Scott
Catherine Scott am 4 Feb. 2014
A good point, I don't actually need to convert to spherical polar coordinates because I already have r (which is rho in the Matlab documentation) and I can assume that the data I have is at theta=phi=0 (where theta= azimuth and phi=elevation). The next bit still stands I believe, so I would then loop over all possible values of theta and phi, then convert to cartesian (using sph2cart). So is there a more efficient method for this part? Apologies for the mix up and thanks for the comment.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by