MATLAB Answers

How can I simplify my expression?

조회 수: 2(최근 30일)
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

Walter Roberson
Walter Roberson 5 May 2019
Does expand() help?
Bálint Nagy
Bálint Nagy 5 May 2019
unfortunately not.
Star Strider
Star Strider 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.)

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

채택된 답변

gonzalo Mier
gonzalo Mier 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.

  댓글 수: 0

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

추가 답변(0개)


Translated by