matlab错误减去,矩阵尺寸必须一致

时间:2011-10-06 15:19:20

标签: matlab

您好我为什么会收到此错误?

x = linspace(-1,1,20);
y = linspace(-2,2,40);
z = (1.+sin(pi.*x)).*((3.+cos(1.065.*y)).^2).*exp(-x.^2 -(y.^2)./4);

???使用==>时出错减去 矩阵维度必须一致。

1 个答案:

答案 0 :(得分:4)

因为xy的大小不同。您可能希望在此处使用的是meshgrid

代码如下:

      [x,y] = meshgrid(linspace(-1,1,20),linspace(-2,2,40));
      z = (1.+sin(pi.*x)).*((3.+cos(1.065.*y)).^2).*exp(-x.^2 -(y.^2)./4);

然后你可以形象化:

      surf(x,y,z)

得到这样的东西:

enter image description here