正确创建曲面

Creating a surface correctly

我想在 x,y~[-10;10] 部分创建并显示曲面 z=x*exp(-x^2-y^2)。我正在尝试使用:

x=-10:10;
y=-10:10;
z=x*exp(-x^2-y^2);
[X,Y,Z]=meshgrid(x,y,z);
surf(X,Y,Z);

并获得:

“使用 ^ 时出错 输入必须是标量和方阵。 要按元素计算 POWER,请改用 POWER (.^)。"

我知道 x 是一个向量,所以这不是一个合乎逻辑的陈述。尽管如此,我还是不知道如何创建这个表面?

您需要在 计算 z 之前使用 meshgrid ,以便为 z 的每个组合计算 z 的值=14=] 和 y。此外,您还需要使用逐元素运算符(.^.*)来创建 z

% Create all permutations of x and y
[x, y] = meshgrid(-10:10,-10:10);

% Compute z for each permutation
z = x .* exp(-x.^2 - y.^2);

% Plot as a surface
surf(x, y, z)