How can I simplify my expression?

3 views (last 30 days)
Hey Guys!
So I'm in the middle of a modelling assignment, and have to perform an inverse-laplace transformation on the following expression:
(4.1567898247199520341942099474821e+54*Ua)/(s*(100229224846904105411357376442422.0*s^6 + 5.9483485126126760990974540409349e+35*s^5 + 5.0239631343165245308229429056249e+40*s^4 + 2.9725399793555455758222675933522e+44*s^3 + 1.0212281680153877722127895364433e+48*s^2 + 5.6753104089399036705416819827312e+51*s + 1.0269914923230344802781707591666e+54))
My problem is that this returns a sum of exponential functions containing complex numbers, as below
4.0475406620140304336968591117778*Ua + 0.048633477607650367346402317141675*Ua*exp(-5720.286485024099496269401688463*t) - 4.1776273848702626395266209427561*Ua*exp(-186.91307534353595311970441088345*t) - Ua*exp(t*(- 1.3058525120961962405107425874867 - 21910.096393659412026550844582755i))*(0.00018263285547812810287333894168844 - 0.000049523771938216719441312262428056i) - Ua*exp(t*(- 1.3058525120961962405107425874867 + 21910.096393659412026550844582755i))*(0.00018263285547812810287333894168844 + 0.000049523771938216719441312262428056i) + Ua*exp(t*(- 12.466668994798763511731927336948 - 4467.9831446674244095221560260197i))*(0.040909255479769047344553095860047 - 0.056379618619562305355740635447079i) + Ua*exp(t*(- 12.466668994798763511731927336948 + 4467.9831446674244095221560260197i))*(0.040909255479769047344553095860047 + 0.056379618619562305355740635447079i)
Now, as you can see, the parts that have complexes in it are complex conjugates and therefore the imaginary parts could be eliminated - meaning that this expression simplifies into a real expression. My problem is that I just can't get matlab into doing this simplification.
What I have tried so far:
rewrite('sincos'), simplify('Criterion','preferReal'), but I still couldn't eliminate the imaginary parts.
Thank you for your thoughts!
  3 Comments
Star Strider
Star Strider on 5 May 2019
This may be a bug. It would definitely be an enhancement request.
If you want to report it as such, use the Contact Us telephone handset icon in the upper right of this page. (Have MATLAB open at the time so you can execute the ver command.)

Sign in to comment.

Accepted Answer

gonzalo Mier
gonzalo Mier on 6 May 2019
It only needs more time to simplify:
I'm doing:
simplify(4.0475406620140304336968591117778*Ua + 0.048633477607650367346402317141675*Ua*exp(-5720.286485024099496269401688463*t) - 4.1776273848702626395266209427561*Ua*exp(-186.91307534353595311970441088345*t) - Ua*exp(t*(- 1.3058525120961962405107425874867 - 21910.096393659412026550844582755i))*(0.00018263285547812810287333894168844 - 0.000049523771938216719441312262428056i) - Ua*exp(t*(- 1.3058525120961962405107425874867 + 21910.096393659412026550844582755i))*(0.00018263285547812810287333894168844 + 0.000049523771938216719441312262428056i) + Ua*exp(t*(- 12.466668994798763511731927336948 - 4467.9831446674244095221560260197i))*(0.040909255479769047344553095860047 - 0.056379618619562305355740635447079i) + Ua*exp(t*(- 12.466668994798763511731927336948 + 4467.9831446674244095221560260197i))*(0.040909255479769047344553095860047 + 0.056379618619562305355740635447079i),1000)
And the imaginary part is not there anymore.

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!