MATLAB中exp和expm各自的用法是什么?有什么区别?
如图,计算过程中,我发现用exp计算才对,用expm计算不出来结果。请求各位大神帮帮忙,为我解答,谢谢!...
如图,计算过程中,我发现用exp计算才对,用expm计算不出来结果。请求各位大神帮帮忙,为我解答,谢谢!
展开
1个回答
展开全部
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
如果有用 望采纳
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
如果有用 望采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询