I have matrix A and I need to find (e^(At)) where t is the sampling time. How to find that? Also what is the difference between exp(A) and expm(A)?

10 Ansichten (letzte 30 Tage)
How to find (e^(At)) that? Also what is the difference between exp(A) and expm(A)?

Akzeptierte Antwort

James Tursa
James Tursa am 20 Okt. 2021
Bearbeitet: James Tursa am 20 Okt. 2021
exp(A) just takes the exp( ) of the scalar elements individually. I.e., exp(A(1,1)), exp(A(1,2)), etc.
expm(A) takes the matrix exponential. I.e., conceptually the equivalent of eye(n) + A + A^2/2! + A^3/3! + ...
These are two very different operations. From your description it looks like you should be using expm( ).

Weitere Antworten (2)

KSSV
KSSV am 20 Okt. 2021
A = rand(2) ;
t = linspace(0,1) ;
iwant = zeros(2,2,100) ;
for i = 1:100
iwant(:,:,i) = exp(A*(t(i))) ;
end
exp might give less accurate values for [0,1]; in that case expm will be accurate

Bruno Luong
Bruno Luong am 20 Okt. 2021
Bearbeitet: Bruno Luong am 20 Okt. 2021
Math notation e^(At) is computed in MATLAB with
expm(A*t)
or equivalently
expm(A)^t

Kategorien

Mehr zu Just for fun finden Sie in Help Center und File Exchange

Produkte


Version

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by