3d surf plot question

1 view (last 30 days)
Darin McCoy
Darin McCoy on 1 Dec 2011
I have a matrix
Matrix(1:10,1) = 1;
Matrix(1:10,2) = 1:10;
Matrix(11:20,1) = 2;
Matrix(11:20,2) = 1:10;
Matrix(1:20,3) = rand(20,1);
I would like to make a surface plot of this matrix and do
surf(Matrix(:,1),Matrix(:,2),Matrix(:3))
But it doesn't let me because it expects matrix (instead of vector) inputs. So i tried several meshgrid implementations
[X Y] = meshgrid(Matrix(:,1),Matrix(:,2));
Z = meshgrid(Matrix(:,3));
surf(X,Y,Z)
but they don't quite give me what i want. (which is a plot of all the values in 3d). Any ideas?

Answers (2)

Walter Roberson
Walter Roberson on 1 Dec 2011
scatter3(Matrix(:,1), Matrix(:,2), Matrix(:,3))
You cannot do a surface plot unless you have a 2D grid of z values.

the cyclist
the cyclist on 1 Dec 2011
Did you instead have something like this in mind?
>> plot3(Matrix(:,1),Matrix(:,2),Matrix(:,3),'.')

Tags

Community Treasure Hunt

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

Start Hunting!