Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 带函数的三维绘图图形的差异_Matlab_Wolframalpha - Fatal编程技术网

Matlab 带函数的三维绘图图形的差异

Matlab 带函数的三维绘图图形的差异,matlab,wolframalpha,Matlab,Wolframalpha,我有这个功能: 在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^2和y^2时,您无意中执行了矩阵乘法。要对矩阵进行元素平方运算,请执行x.^2和y.^2 另外,虽然从技术上讲不是一个错误,

我有这个功能:

在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^2
y^2
时,您无意中执行了矩阵乘法。要对矩阵进行元素平方运算,请执行
x.^2
y.^2

另外,虽然从技术上讲不是一个错误,
e=exp(1)
只是在您已经有了
exp
的情况下过度使用了

总之

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

输入都是实的,所以我取消了对
real
的调用<在这种情况下,code>/可以是普通的
/
,因为
exp(2)
是一个标量,但我更喜欢正确的

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

另外,虽然从技术上讲不是一个错误,
e=exp(1)
只是在您已经有了
exp
的情况下过度使用了

总之

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

输入都是实的,所以我取消了对
real
的调用<在这种情况下,code>/可以是普通的
/
,因为
exp(2)
是一个标量,但我更喜欢正确的

首先,使用
exp(…)
而不是
e^…
,特别是如果你不打算正确地插入另一个括号,
(e^-2)*(y^2)
需要是
(e^-2)。*(y.^2)
。注意星号和插入符号前的点。在元素方面,而不是矩阵乘法和指数运算,通常选择一个对你有帮助的答案,如果你有心情的话,可以进行投票。首先,使用
exp(…)
而不是
e^…
,特别是如果你不打算给另一个答案加括号,
(e^-2)*(y^2)
需要是
(e^-2)*(y.^2)
。注意星号和插入符号前的点。按元素而不是矩阵乘法和幂运算,通常选择一个对您有帮助的答案,如果您有兴趣,请向上投票。