我想在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);
得到:
"使用^时出错 输入必须是标量和方阵。 要计算elementwise POWER,请改用POWER(。^)。"
我理解x
是一个向量,因此这不是一个逻辑语句。从来没有,我对如何创建这个表面没有想法?
答案 0 :(得分:1)
您希望在计算meshgrid
之前使用z
,以便为z
和x
的每个组合计算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)
{{1}}