2D plot of 3D data

Hi there,
I'm not sure how best to go about making a 2D plot of my 3D data. I have calculated FFT of samples at points in the x,y and z axes but I would like to use surf() to plot this information as a 2D surface plot in spherical coordinates theta and phi, how best can I go about this??
Many thanks in advance Bran

 Réponse acceptée

José-Luis
José-Luis le 14 Jan 2013

0 votes

Maybe slice() is what you are looking for?

4 commentaires

Bran
Bran le 15 Jan 2013
This is a very good answer, however, due to the type of information I have it is not quite suitable. I have instead decided to make my own slices and to use surf() plot however, I was going to ask you if you knew how to find values of my function at specific z values. SO for example I have calculated my function A (which is a function of x, y and z) and now I want to pick out values at several specific z values. How can I do that as I have alot of data?? Many many thanks in advance jose! :)
José-Luis
José-Luis le 15 Jan 2013
Modifié(e) : José-Luis le 15 Jan 2013
No worries.
If the values of z actually exist in your data, then you can use logical indexing or find().
log_idx = z==some_value;
your_x = x(log_idx); %etc
If you want to interpolate, then you could use the interp2() built-in function.
Bran
Bran le 15 Jan 2013
AHHH yes of course! I remember now! THANK YOU! :)
Bran
Bran le 16 Jan 2013
Hey jose, so sorry to be bothering you again, but I am trying to indeed use the slice function for my data as it seems to be the only way to display volume information; I have x = [-7:1:9] y = [-7:1:9] z = [-7:1:9]
v = FFT and I wish to take several slices across the z acces ie; zslice = [0, 5, 9]
but the command slice(x,y,z,v,xslice,yslice,zslice)
is throwing up several errors any idea what might be wrong??
Many thanks :)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by