我是 Octave 的新手,我遇到了一个问题。我认为以下代码是相同的,但它们产生不同的结果。有什么不同?谢谢
Octave/Matlab: e^(-1*z) 和 exp(-1*z) 的区别
g = 1./(1 + e^(-1*z));
g = 1./(1 + exp(-1*z));
其中 z 是向量、元素或矩阵
最佳答案
Octave 音
exp(1)
等于 e
其中 e
是Euler's number .
这里有4个操作/函数需要注意:
e^x
与 expm(x)
相同和 e.^(x)
与 exp(x)
相同.
-
e^x
和expm(m)
代表e
提高到矩阵x
. -
e.^(x)
和exp(x)
表示矩阵x
中每个元素的指数 ex .
如果x
是一个标量,那么所有( e^x
、 expm(x)
、 e.^x
和 exp(x)
)在数学上都是相等的。
对于您的情况,z
是一个矩阵,因此您会得到不同的结果。
在 MATLAB 中,
e
未在 MATLAB 中定义。 exp(x)
和 expm(x)
在 MATLAB 中的定义与上面针对 Octave 描述的定义相同。
附言: e
或 E
也用于 E-notation在 MATLAB 和 Octave 中,但这是另一回事。
关于matlab - 倍频程/Matlab : Difference between e^(-1*z) and exp(-1*z),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49099260/