MATLAB中exp和expm各自的用法是什么?有什么区别?

如题所述

第1个回答  2022-12-11

exp(x): 求的是矩阵x中的每个元素的e指数。这个矩阵x可以是任意矩阵;

expm(x):求的是矩阵x的指数。这个矩阵x只能是方阵;在matlab内部,采用的是pade近似算法来计算的。

在matlab中举个例子,你看一下:

x=[1 2 3; 4 5 6]; %计算2行3列矩阵的exp, 得到的是每个元素的exp

>> exp(x)

ans =

2.7183    7.3891   20.0855

54.5982  148.4132  403.4288

>> expm(x)  %用这个函数就出错,原因是此时x不是方阵

??? Error using ==> mtimes

Inner matrix dimensions must agree.

Error in ==> expm>PadeApproximantOfDegree at 118

A2 = A*A; A4 = A2*A2; A6 = A2*A4;

Error in ==> expm at 39

F = PadeApproximantOfDegree(m_vals(end));

>> expm([1 2 3; 4 5 6 ; 7 8 9]) %此时expm()内部是一个3行3列方阵,可见结果正确

ans =

1.0e+006 *

1.1189    1.3748    1.6307

2.5339    3.1134    3.6929

3.9489    4.8520    5.7552

相似回答
大家正在搜