MATLAB: I am trying to create a surface plot with nested loops and am getting the error “Z must be a matrix, not a scalar or vector.”

MATLABmatrix errornested loopssurface plots

clear all
n=1;
for ii = 1:10;
for jj = 1:10;
x(n) = ii;
y(n) = jj;
z(n) = ii+jj;
n = n+1;
end
end
surf(x,y,z)

Best Answer

Try something like the following (z must be a matrix):
for m = 1:10
x(m) = m;
for n = 1:10
y(n) = n;
z(m,n) = n+m;
end
end
surf(x,y,z)