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

125 次查看(过去 30 天)
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.

采纳的回答

George Papazafeiropoulos
编辑:George Papazafeiropoulos 2012-7-29
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

更多回答(2 个)

Miro
Miro 2012-7-27
编辑:Miro 2012-7-27
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 2022-6-12
编辑:shahariar Ryehan 2022-6-12
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')

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by