My code is keep plotting the wrong data
2 views (last 30 days)
I have a 9 coloumns by 150 rows matrix and I have chosen three coloumns from it to form my new 3 comloumns matrix, so I chose second to be my Z (hight) and 8 and 9 to be my x and y respectively.
M = TEST(:,[8;9;2])
So, now I have a 3x150 Matrix and idealy it is 3 coloumns where first is X, second is Y and third is Z. Whenever I use surf. comand it plots wrong data and I am sure when I pick a plotted point it is all wrong. I do not know what to do to fix it.
and I do not want to plot a mathematical function I already have X Y and Z, and when I separate them, the code gives me an error that Z must be a matrix not vector, while it is obviously a matrix. I do not know how to solve it.
Star Strider on 7 Jul 2022
TEST = randn(150,9);
M = TEST(:,[8 9 2]);
x = M(:,1);
y = M(:,2);
z = M(:,3);
L = size(M,1);
xv = linspace(min(x), max(x), L);
yv = linspace(min(y), max(y), L);
[Xm,Ym] = ndgrid(xv, yv);
Zm = griddata(x,y,z,Xm,Ym);
surf(Xm, Ym, Zm)
This should work with your data. It would help to have it to be certain.