Matlab Error (Z must be a matrix, not a scalar or vector.)?

122 views (last 30 days)
Hello
I was trying to plot using the following code but i get this error. Can someone help me please? Thank You
x = -2.5:.1:2.5;
y = -2.5:.1:2.5;
[X,Y] = meshgrid(x,y);
z = 2*sin(x.*y);
mesh(x,y,z)
grid on
hold on
Error using mesh (line 76) Z must be a matrix, not a scalar or vector.

Accepted Answer

George Papazafeiropoulos
George Papazafeiropoulos on 27 Jul 2012
Edited: George Papazafeiropoulos on 29 Jul 2012
Is this what you want?
x = -2.5:.1:2.5;
y = -2.5:.1:2.5;
[X,Y] = meshgrid(x,y);
Z = 2*sin(X.*Y);
mesh(X,Y,Z)
grid on
hold on
George Papazafeiropoulos

More Answers (2)

Miro
Miro on 27 Jul 2012
Edited: Miro on 27 Jul 2012
ah you mixed up the capitals i guess. use ur meshgrid for your z like
z = 2*sin(X.*Y);
mesh(X,Y,z)

shahariar Ryehan
shahariar Ryehan on 12 Jun 2022
Edited: shahariar Ryehan on 12 Jun 2022
I got the same error. Please help.
%variable declare
syms x;
syms t;
%putting the value
a=1;
b=-2;
c=-1;
alpha=1;
y=0;
%vartheta equation
vartheta = @(x, t)((a/alpha)*x.^alpha)+((b/alpha)*y^alpha)+c*t;
%delta
delta=-(2*c)/(b*a^2);
%mesh plot
x = -3:.1:3;
y = -3:.1:3;
[X,Y] = meshgrid(x,t);
%main function
Z=@(vartheta,delta)(-(2*(c^2)*((tanh(sqrt(-delta).*vartheta)).^2))/(b*delta*a^3));
mesh(X,Y,Z)
grid on
hold on
Result:
Error using surf (line 71)
Z must be a matrix, not a scalar or vector.
Error in M3_1_29_3 (line 30)
surf(v, 'edgecolor', 'none')

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!