3d surf plot question

3 views (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),'.')

Categories

Find more on Graphics Objects in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!