Matlab を使用してメキシカン ハット関数を描画しようとしています。
x=-20:20;
y=-20:20;
z=(1 - x.^2 -y.^2) * exp(-1/2 * (x.^2 + y.^2))
しかし、私はエラーが発生しました:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
直すにはどうすればいいですか?ありがとう
Matlab を使用してメキシカン ハット関数を描画しようとしています。
x=-20:20;
y=-20:20;
z=(1 - x.^2 -y.^2) * exp(-1/2 * (x.^2 + y.^2))
しかし、私はエラーが発生しました:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
直すにはどうすればいいですか?ありがとう
ここには 2 つのバグがあります。まず、x
andのy
ようなものを使用して作成meshgrid
し、それらがベクトルではなく配列になるようにします (ここで、関数のより教育的な範囲を見てみましょう...)
>> [x y] = meshgrid(-5:0.5:5, -5:0.5:5);
第 2 に、行列の乗算 (.*
の代わり*
) ではなく、要素ごとの乗算が必要です。
>> z = (1 - x.^2 -y.^2) .* exp(-1/2 * (x.^2 + y.^2));
それはトリックを行う必要があります:
>> surf(z)