pol2cart with matrices
Show older comments
i have polar coordinates in a matrix 512x500 which can be displayed as in A with imagesc.
I can now convert them into cartesian coordinates. Since it is a spiral they will actually be cylindrical coordinates.
With
angle= linspace(0, 2*pi, size(polvec,2));
rad = linspace(1, 100, size(polvec,1));
[x,y,z] = pol2cart(a,b,c);
figure
surf(x,y,z)
view(2);
I also get a 2-D plot from above (B). But how do I convert this into a real 2-D transfomation? And how do I get a matrix out of it that now stores my data in 2D coordinates?

Thanks
2 Comments
the cyclist
on 4 Jul 2020
Can you upload your data in a MAT file (using the paper clip icon in the INSERT section of the toolbar here)?
prrrrr
on 5 Jul 2020
Answers (1)
Star Strider
on 4 Jul 2020
You can get a 2D plot of it by using:
view(0,90)
Another (probably better) option would be to use the contour function instead of surf or mesh. The arguments are the same.
4 Comments
prrrrr
on 4 Jul 2020
Star Strider
on 4 Jul 2020
Using the contour function will give you the (x,y) coordinates for each contour level as the first output, if you request outputs. If you know the level you want, you can specify that, and the function will provide two (x,y) vector pairs for that level, one for the inner contour and one for the outer contour. You can then save these to plot however you wish.
Without your matrix, I can only describe the approach. I cannot write specific code for it.
Star Strider
on 5 Jul 2020
To display the contour at a specific height, specify the height:
contour(X,Y,Z, [150 150])
Here, it will show the contour at 150. (This is described in the documentation.)
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!