Filter löschen
Filter löschen

How to reduce order of Matrix exponential?

1 Ansicht (letzte 30 Tage)
Rock
Rock am 11 Mär. 2013
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
Rock
Rock am 12 Mär. 2013
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
If you want to reduce the order of your system you can use balred:

Community Treasure Hunt

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

Start Hunting!

Translated by