1

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.

直すにはどうすればいいですか?ありがとう

4

1 に答える 1

3

ここには 2 つのバグがあります。まず、xandの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)

ここに画像の説明を入力

于 2013-02-02T23:02:09.267 に答える