0
私はメッシュプロットを作成する関数を作りたいと思います。 start x、y; dx、dy、end x、yは関数に入力されます。私はこのコードを作ったMatlabメッシュプロット。 zのための特定の関数。 Zは行列でなければなりません
if x>y
z =x^2-sin(x);
elseif x==y
z = 3;
else
z = 2*x+2*x;
end
: Zはそこのように計算する必要があります
function []= mes(xp,xk,dx,yp,yk,dy)
x=[xp:dx:xk];
y=[yp:dy:yk];
zv=[];
for i=1:numel(x)
if x>y
z=x(i)^2-sin(y(i));
elseif x(i)==y(i)
z=3;
else
z=2*x(i)+2*y(i);
end
zv=[zv z];
end
[X,Y]=meshgrid(x,y);
figure
x
y
zv
mesh(X,Y,zv)
と、これらのエラーコードを得た:
はError using mesh (line 70)
Z must be a matrix, not a scalar or vector.
Error in mes (line 21)
mesh(X,Y,zv)
式は、zのために働くようです。 私は、私のようにシミラー問題には多くの答えがあることを知っていますが、私がzの簡単な方程式を作ったときにはうまくいきますが、この方程式では動作しません。
'zv = reshape(zv、[length(x)length(y)])'? –
function [] = mes(xp、xk、dx、yp、yk、dy) x = [xp:dx:xk]; y = [yp:dy:yk]; [x、y] = meshgrid(x、y); zv = []; for i = 1:numel(x) if x> y z = x(i)^ 2-sin(y(i)); (i)== y(i) z = 3; else z = 2 * x(i)+ 2 * y(i); end zv = [zv z]; 端 ZV =変形(ZV、[長さ(x)の長さ(Y)]) 図 メッシュ(ZV) いや、メッシュプロットが現れ、奇妙、3Dない一つであると思われます。 @ ander-biguri –
コスピダーが助けてくれたら答えを受け入れる –