how to form rectangular matrix of x, y, z in (:,:,3) format from circular data
Info
This question is closed. Reopen it to edit or answer.
Show older comments
I have data of D(:,:,3) format where x= 5*sin(theta)cos(phi), y=5*sin(theta)sin(phi) and z some data related to this points where theta= 0-pi/2 and phi = 0-2 pi. how can i rearrange the data of z in to [X,Y]=ndgrid(x,y) for x=linspace(-t,t,n) , y=linspace(-t,t,n) format?
5 Comments
Guillaume
on 20 Apr 2015
Can you clarify what each dimension of D represent (is it D(y, x, z) and what the values of D represent?
Dhelp
on 21 Apr 2015
Guillaume
on 21 Apr 2015
That's what I understood initially, but then I don't understand what the first two dimensions of D represent. I would have thought that D would be a P x 3 matrix, with P the numbers of points.
Dhelp
on 21 Apr 2015
Titus Edelhofer
on 21 Apr 2015
Hi,
please take a look at the answer below: if you have e.g. x=-5:0.5:5, y=-5:0.5:5, then create matrices X, Y with
[X,Y] = meshgrid(x,y);
Use these matrices as points xi, yi when calling griddata.
Titus
Answers (1)
Titus Edelhofer
on 21 Apr 2015
Hi,
if I understand correctly you have a set of points which are given on 3D spheres and want to have them on a regular (cartesian) grid. If this is the case, then you are looking for the function
griddata
You construct the grid using meshgrid or ndgrid and use griddata to interpolate your points onto this grid.
Titus
1 Comment
Dhelp
on 22 Apr 2015
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!