尝试绘制墨西哥帽功能。但是得到了错误“??错误使用==> mtimes内部矩阵尺寸必须一致。”

时间:2013-02-02 23:01:19

标签: matlab

我尝试使用Matlab绘制墨西哥帽功能。

enter image description here

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.

我应该如何修复它?感谢

1 个答案:

答案 0 :(得分:3)

这里有两个错误。首先,您要使用类似x之类的内容创建ymeshgrid,这样它们就是数组而不是向量(当我们看到它时,让我们看一下更具启发性的内容功能的范围......)

>> [x y] = meshgrid(-5:0.5:5, -5:0.5:5);

其次,您需要逐元素乘法而不是矩阵乘法(.*而不是*)。

>> z = (1 - x.^2 -y.^2) .* exp(-1/2 * (x.^2 + y.^2));

应该这样做:

>> surf(z)

enter image description here