图表中的差异 3D 图与函数

Differences in graphs 3D plot with functions

我有这个功能:

在 WolframAlpha 中,这是图表:

在 MatLab 中我使用了这段代码:

clc; clear; close all
[x,y]=meshgrid(-1:.1:1);
e = exp(1);
z=(e^-x^2)+((e^-2)*(y^2))
surf(x,y,real(z));

并打印这张图:

为什么会出现这种差异?我做错了什么?

您在执行 x^2y^2 时无意中执行了矩阵乘法。要对矩阵进行逐元素平方,请执行 x.^2y.^2

此外,虽然从技术上讲不是错误,但当您已经有 exp 可用时,e=exp(1) 就有点矫枉过正了。

总之,

[x,y]=meshgrid(-1:.1:1);
z=exp(-x.^2)+(y.^2)./exp(2); 
surf(x,y,z);

输入都是真实的,所以我删除了对 real 的调用。 ./ 在这种情况下可以只是简单的 / 因为 exp(2) 是一个标量,但我更喜欢正确。