私はこのような関数 f を持っています
function z=f(x,y)
if(x<1 & y <1)
z=0;
else
z=1;
end
end
そしてスクリプト
x=0:0.1:2;
y=0:0.1:2;
[X,Y]=meshgrid(x,y);
Z=f(X,Y);
mesh(X,Y,Z);
このスクリプトを実行すると、次のエラーが発生しました。Z はスカラーやベクトルではなく、行列である必要があります。
これは、ここの x と y がスカラー値ではなく 2 つの配列であるためです。変更すると、スクリプトを実行できます
function f looks like this:
function z = f( x,y )
for i=1:size(x,2)
for j=1:size(y,2)
if(x(i)<1 & y(j)<1)
z(i,j)=0;
else
z(i,j)=1;
end
end
end
end
問題は、新しい関数が最初の関数よりもはるかに遅く実行されることです。この場合、この関数で使用される「.*」演算子のように、配列に適用される比較演算子があるかどうかはわかりません
function z=f(x,y)
z=x.*y;
end
どうもありがとうございました。