How to reduce order of Matrix exponential?

Hi I would like to know as to how I could reduce the reduce terms for calculation on using matrix exponential. I do understand it calculates based on Pade approximation. I encounter problems on dealing with higher order differential equation and matlab produces a huge matrix which is not simplified.

4 Kommentare

Walter Roberson
Walter Roberson am 11 Mär. 2013
Is this perhaps a question related to the Symbolic Toolbox ?
Rock
Rock am 12 Mär. 2013
Yes. The problem arises on using Symbolic toolbox
For example on using symbolic toolbox for calculation of state transition matrix using command expm(). Matlab produces
xd0 =
3596168398555683/281474976710656 - (3596168398555683*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*i)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/274877906944000))/562949953421312 - (3596168398555683*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*d*i)/274877906944000))/562949953421312 - (10034090182592830360898745999^(1/2)*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*i)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/274877906944000)*1198722799518561*i)/35414184102574030372936351744 + (10034090182592830360898745999^(1/2)*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*d*i)/274877906944000)*1198722799518561*i)/35414184102574030372936351744 - (867128423441527*exp(-53167873683559/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*i)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*d*i)/274877906944000)*(10034090182592830360898745999*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/137438953472000) + 10034090182592830360898745999*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/137438953472000) + 10034090182592830360898745999^(1/2)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/137438953472000)*67778405371801*i - 10034090182592830360898745999^(1/2)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/137438953472000)*67778405371801*i - 20068180365185660721797491998*exp(53167873683559/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/274877906944000)))/323622899010805503129938536833211279867904
(25039894058036277*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*i)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/274877906944000))/18014398509481984 - (3121916813407357*exp(-53167873683559/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*i)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*d*i)/274877906944000)*(10034090182592830360898745999*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/137438953472000) + 10034090182592830360898745999*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/137438953472000) + 10034090182592830360898745999^(1/2)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/137438953472000)*67778405371801*i - 10034090182592830360898745999^(1/2)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/137438953472000)*67778405371801*i - 20068180365185660721797491998*exp(53167873683559/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/274877906944000)))/20711865536691552200316066357325521911545856 + (25039894058036277*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*d*i)/274877906944000))/18014398509481984 + (10034090182592830360898745999^(1/2)*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*i)/274877906944000)*exp((10034090182592830360898745999^(1/2)*d*i)/274877906944000)*8346631352678759*i)/1133253891282368971933963255808 - (10034090182592830360898745999^(1/2)*exp(-53167873683559/274877906944000)*exp((53167873683559*d)/274877906944000)*exp((10034090182592830360898745999^(1/2)*i)/274877906944000)*exp(-(10034090182592830360898745999^(1/2)*d*i)/274877906944000)*8346631352678759*i)/1133253891282368971933963255808 - 25039894058036277/9007199254740992
Is there way to simplify this problem?
Walter Roberson
Walter Roberson am 12 Mär. 2013
perhaps you would like to vpa() it?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Shashank Prasanna
Shashank Prasanna am 11 Mär. 2013

0 Stimmen

If you want to reduce the order of your system you can use balred:

Gefragt:

am 11 Mär. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by