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