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 commentaires

Walter Roberson
Walter Roberson le 11 Mar 2013
Is this perhaps a question related to the Symbolic Toolbox ?
Rock
Rock le 12 Mar 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 le 12 Mar 2013
perhaps you would like to vpa() it?

Connectez-vous pour commenter.

Réponses (1)

Question posée :

le 11 Mar 2013

Community Treasure Hunt

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

Start Hunting!

Translated by