How can i calculate e^A*t

237 ビュー (過去 30 日間)
Nick
Nick 2012 年 5 月 30 日
コメント済み: Walter Roberson 2022 年 6 月 12 日
How can i calculate e^A*t without using Markov Chain?
Where e=exp , A is a square matrix, and t is a variable
  10 件のコメント
CHENG WEI SHEN
CHENG WEI SHEN 2022 年 6 月 12 日
???
Walter Roberson
Walter Roberson 2022 年 6 月 12 日
Please expand on your question ?

サインインしてコメントする。

採用された回答

Elad
Elad 2012 年 5 月 30 日
exp(A.*t)

その他の回答 (5 件)

Kye Taylor
Kye Taylor 2012 年 5 月 31 日
Use the expm function for computing a matrix exponential
  4 件のコメント
KJ N
KJ N 2017 年 11 月 9 日
exp() only does computes the exponential of A element-by-element, as shown above like this: >> a = [1 2 3 ; 2 5 2; 1 4 3]
a =
1 2 3
2 5 2
1 4 3
>> syms t
>> exp(a*t)
ans =
[ exp(t), exp(2*t), exp(3*t)]
[ exp(2*t), exp(5*t), exp(2*t)]
[ exp(t), exp(4*t), exp(3*t)]
If that's what you're going for, that's great, but not terribly difficult to compute by hand for even somewhat large n x n matrices with integer elements. However, the original poster said they wanted to avoid using the markov chain (a somewhat onerous process, especially when done by hand for large matrices, even with simple integer values as the elements), leading me to understand they were referring to the matrix exponential, not the element-by-element exponential, hence the correct answer in this case would be to use expm(). I had been looking for the same answer, and Kye Taylor was the only post saying use expm instead of exp, so I thought I would try to ensure those in the future looking for the same answer as myself would be helped by a clarification.
Walter Roberson
Walter Roberson 2017 年 11 月 9 日
We tried a number of times to get the original poster to clarify, but all we got was that they want the exp() solution and that they are looking for a "deeper reason" for something. The poster effectively defined the exp() solution as being the correct one.
Your analysis might well be what the poster really needed, but it is contrary to what little they defined as being correct for their needs.

サインインしてコメントする。


Junsheng SU
Junsheng SU 2017 年 11 月 28 日
syms t; expm(A*t);
  1 件のコメント
Lars Nagel
Lars Nagel 2019 年 8 月 17 日
Worked perfectly for me!

サインインしてコメントする。


Shenhai
Shenhai 2017 年 1 月 20 日
編集済み: Shenhai 2017 年 1 月 20 日
I guess it is not always possible to get the close form solution of exp(At)...
Sometimes I can get result with: exp(At) = iL(sI-A)^-1, where iL is the inverse Laplace transformation, like:
syms s t
A = [0 1;0 0];
expAt = ilaplace(inv(s*eye(size(A,1))-A),s,t);
This will give the result as: [1 t;0 1]
Any other ideas?

Shahram Bekhrad
Shahram Bekhrad 2012 年 6 月 8 日
As far as I'm aware you probably need it for finding the answer of a state space equation. I myself couldn't find any good function or command yet, so you might have to write a Script file (m-file) and find it. you can use about 3 or 4 way of calculating the said statement. These things are taught in courses like modern control theory. I used the following expression but still have some difficulties. exp(A.t)=I+At+ (At)^2/2! + (At)^3/3!+ (At)^4/4!+. . .

ABCD
ABCD 2016 年 9 月 29 日
Dear Nick, do you mean this?
>> a = [1 2 3 ; 2 5 2; 1 4 3]
a =
1 2 3
2 5 2
1 4 3
>> syms t >> exp(a*t)
ans =
[ exp(t), exp(2*t), exp(3*t)] [ exp(2*t), exp(5*t), exp(2*t)] [ exp(t), exp(4*t), exp(3*t)]
  1 件のコメント
ABCD
ABCD 2016 年 9 月 29 日
>> a = [1 2 3 ; 2 5 2; 1 4 3]
a =
1 2 3
2 5 2
1 4 3
>> syms t
>> exp(a*t)
ans =
[ exp(t), exp(2*t), exp(3*t)]
[ exp(2*t), exp(5*t), exp(2*t)]
[ exp(t), exp(4*t), exp(3*t)]

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by