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

152 Ansichten (letzte 30 Tage)
GURPREET
GURPREET am 27 Jul. 2012
Kommentiert: Kolenchenko am 5 Mär. 2024 um 7:08
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.

Akzeptierte Antwort

George Papazafeiropoulos
George Papazafeiropoulos am 27 Jul. 2012
Bearbeitet: George Papazafeiropoulos am 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

Weitere Antworten (2)

Miro
Miro am 27 Jul. 2012
Bearbeitet: Miro am 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 am 12 Jun. 2022
Bearbeitet: shahariar Ryehan am 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')

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by