ilaplace and laplace answer

2 views (last 30 days)
justin nabbs
justin nabbs on 2 Apr 2015
Edited: Walter Roberson on 25 Nov 2024
I am just learning how to use the Laplace/Inverse functions in Matlab and was hoping to get some understanding of the final answer below. When working out 1st and second order functions I can ascertain the answer as it does not contain symsum or rootof, or r4 etc. In any case I am unsure of what symsum and Rootof translates to for a final answer? Thanks
>> syms t s
>> F=5*(s+3)/((s^5+4*s^4-3*s^2+7*s+10))
F =
(5*s + 15)/(s^5 + 4*s^4 - 3*s^2 + 7*s + 10)
>> pretty(ans)
5 s + 15
---------------------------
5 4 2
s + 4 s - 3 s + 7 s + 10
>> ilaplace(F)
ans =
15*symsum(exp(r4*t)/(5*r4^4 + 16*r4^3 - 6*r4 + 7), r4 in RootOf(s4^5 + 4*s4^4 - 3*s4^2 + 7*s4 + 10, s4)) + 5*symsum((r4*exp(r4*t))/(5*r4^4 + 16*r4^3 - 6*r4 + 7), r4 in RootOf(s4^5 + 4*s4^4 - 3*s4^2 + 7*s4 + 10, s4))
>>

Accepted Answer

Star Strider
Star Strider on 2 Apr 2015
Edited: Star Strider on 2 Apr 2015
If you have R2015a, you can invert it the old-fashion way with partfrac. Do a pratial fraction expansion and then invert it:
syms t s
Fsv=5*(s+3)/((s^5+4*s^4-3*s^2+7*s+10));
Fpf = partfrac(Fsv, s, 'FactorMode','real');
Ft = ilaplace(Fpf, s, t);
Ftv = vpa(Ft,5)
producing:
Ftv =
- exp(t*(0.97907 + 0.92185i))*(0.29419 + 0.30855i) - exp(t*(0.97907 - 0.92185i))*(0.29419 - 0.30855i) + exp(t*(- 1.1315 + 0.46501i))*(0.30547 - 0.6614i) + exp(t*(- 1.1315 - 0.46501i))*(0.30547 + 0.6614i) - 0.022557*exp(-3.6952*t)
I used vpa to make it easy to read. MATLAB maintains full precision.
Added —
This can be simplified further with rewrite and simplify:
Ftt = rewrite(Ftv, 'sincos');
Ftt = simplify(Ftt, 'Steps',10, 'IgnoreAnalyticConstraints',1);
Ftt = vpa(Ftt,5)
producing a much neater result:
Ftt =
1.3228*exp(-1.1315*t)*sin(0.46501*t) - 0.022557*exp(-3.6952*t) + 0.61094*exp(-1.1315*t)*cos(0.46501*t)
  1 Comment
Duc Huy Le
Duc Huy Le on 16 Jun 2015
Edited: Walter Roberson on 25 Nov 2024
Thanks, i have used tutorial but but results return a virtual:
syms t s
M=(40000/s+240)*(exp(-0.0936*s)-exp(-1.008*s));
N=(32000/s+240)*(exp(-0.2808*s)-exp(-0.288*s));
Q1=2000*s^2+2400*s+360000;
Q2=-120*s+34000;
Q3=120*s-34000;
Q4=2100*s^2+4062*s+604100;
F=((M+N)*Q4+(1.35*N-1.25*M)*Q2)/(Q1*Q4+Q2*Q3);
Fpf = partfrac(F, s, 'FactorMode','real');
Ft = ilaplace(Fpf, s, t);
Ftv = vpa(Ft,5);
Ftt = rewrite(Ftv, 'sincos');
Ftt = simplify(Ftt, 'Steps',10, 'IgnoreAnalyticConstraints',1);
Ftt = vpa(Ftt,5)
Ftt =
0.10385*heaviside(1.0*t - 0.0936) - 0.096154*heaviside(1.0*t - 0.288) + 0.096154*heaviside(1.0*t - 0.2808) - 0.10385*heaviside(1.0*t - 1.008) + sin(t*(17.006 - 0.95036i))*heaviside(1.0*t - 0.288)*(0.006097 + 0.0015722i) - sin(t*(17.006 - 0.95036i))*heaviside(1.0*t - 0.2808)*(0.0062008 + 0.00081025i) - sin(t*(17.006 - 0.95036i))*heaviside(1.0*t - 1.008)*(0.018259 - 0.000076573i) - cos(t*(13.31 - 0.61679i))*heaviside(1.0*t - 0.0936)*(0.01834 + 0.044105i) - sin(t*(13.31 - 0.61679i))*heaviside(1.0*t - 0.0936)*(0.044105 - 0.01834i) - cos(t*(13.31 - 0.61679i))*heaviside(1.0*t - 0.288)*(0.050133 + 0.03844i) + cos(t*(13.31 - 0.61679i))*heaviside(1.0*t - 0.2808)*(0.053344 + 0.033319i) + cos(t*(13.31 - 0.61679i))*heaviside(1.0*t - 1.008)*(0.059611 + 0.059122i) - sin(t*(13.31 - 0.61679i))*heaviside(1.0*t - 0.288)*(0.03844 - 0.050133i) + sin(t*(13.31 - 0.61679i))*heaviside(1.0*t - 0.2808)*(0.033319 - 0.053344i) + sin(t*(13.31 - 0.61679i))*heaviside(1.0*t - 1.008)*(0.059122 - 0.059611i) - heaviside(1.0*t - 0.0936)*cos(t*(13.31 + 0.61679i))*(0.01834 - 0.044105i) + heaviside(1.0*t - 0.0936)*cos(t*(17.006 + 0.95036i))*(0.001173 + 0.0075669i) - sin(t*(13.31 + 0.61679i))*heaviside(1.0*t - 0.0936)*(0.044105 + 0.01834i) + cos(t*(17.006 - 0.95036i))*heaviside(1.0*t - 0.0936)*(0.001173 - 0.0075669i) - sin(t*(17.006 + 0.95036i))*heaviside(1.0*t - 0.0936)*(0.0075669 - 0.001173i) - heaviside(1.0*t - 0.288)*cos(t*(13.31 + 0.61679i))*(0.050133 - 0.03844i) + heaviside(1.0*t - 0.2808)*cos(t*(13.31 + 0.61679i))*(0.053344 - 0.033319i) - heaviside(1.0*t - 0.288)*cos(t*(17.006 + 0.95036i))*(0.0015722 + 0.006097i) + heaviside(1.0*t - 0.2808)*cos(t*(17.006 + 0.95036i))*(0.00081025 + 0.0062008i) + heaviside(1.0*t - 1.008)*cos(t*(13.31 + 0.61679i))*(0.059611 - 0.059122i) - sin(t*(17.006 - 0.95036i))*heaviside(1.0*t - 0.0936)*(0.0075669 + 0.001173i) - heaviside(1.0*t - 1.008)*cos(t*(17.006 + 0.95036i))*(0.000076573 - 0.018259i) - sin(t*(13.31 + 0.61679i))*heaviside(1.0*t - 0.288)*(0.03844 + 0.050133i) - cos(t*(17.006 - 0.95036i))*heaviside(1.0*t - 0.288)*(0.0015722 - 0.006097i) + sin(t*(13.31 + 0.61679i))*heaviside(1.0*t - 0.2808)*(0.033319 + 0.053344i) + cos(t*(17.006 - 0.95036i))*heaviside(1.0*t - 0.2808)*(0.00081025 - 0.0062008i) + sin(t*(17.006 + 0.95036i))*heaviside(1.0*t - 0.288)*(0.006097 - 0.0015722i) - sin(t*(17.006 + 0.95036i))*heaviside(1.0*t - 0.2808)*(0.0062008 - 0.00081025i) + sin(t*(13.31 + 0.61679i))*heaviside(1.0*t - 1.008)*(0.059122 + 0.059611i) - cos(t*(17.006 - 0.95036i))*heaviside(1.0*t - 1.008)*(0.000076573 + 0.018259i) - sin(t*(17.006 + 0.95036i))*heaviside(1.0*t - 1.008)*(0.018259 + 0.000076573i)
I want to draw a graph of the function returns the final. Please help me. Thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!