MATLAB Answers

How can I simplify my expression?

조회 수: 7(최근 30일)
Bálint Nagy
Bálint Nagy 2019년 5월 5일
답변: gonzalo Mier 2019년 5월 6일
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
Star Strider
Star Strider 2019년 5월 5일
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.)

댓글을 달려면 로그인하십시오.

채택된 답변

gonzalo Mier
gonzalo Mier 2019년 5월 6일
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.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by