I want to plot a 3D surface that is 0 to 4 on the x-axis, 0 to 1 on y-axis and 0 on the z axis (or some z if necessary like 0 to 1). Then I want to plot peaks on that surface, given the x, y, and z coordinates of the peak on the surface.
The data looks similar to:
x y z 0.75 0.23 -2.86 0.75 0.47 3.87 0.75 0.64 2.78 2.45 0.23 4.56 2.45 0.47 0.89 2.45 0.64 2.74 3.23 0.23 2.10 3.23 0.47 -3.65 3.23 0.64 -5.89
Each row of the data is the x, y, and z coordinate of a specific peak on the 4 by 1 surface.
The code that I am using now (written by Stephen Cobeldick):
close alla=[0.75 0.23 -2.860.75 0.47 3.870.75 0.64 2.782.45 0.23 4.562.45 0.47 0.892.45 0.64 2.743.23 0.23 2.103.23 0.47 -3.653.23 0.64 -5.89]x = reshape(a(:,1),3,3);y = reshape(a(:,2),3,3);z = reshape(a(:,3),3,3);surf(x,y,z, 'FaceColor','interp')
This code sort of works in the sense that it shows the distortion of the data a crossed a surface, but it would be ideal to create a 4 by 1 surface and then create specific peaks on that surface.
The end result that I am looking for is something that resembles this:
I would really appreciate any code that would help me to accomplish this goal.
Thank you
Best Answer