Using ilaplace function i get answer in terms of ilaplace but i need it in terms of a variable t:
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
shreyas gt
am 26 Apr. 2021
Beantwortet: Shivansh
am 4 Okt. 2022
This is my code:
clc;
clear;
syms t y(t) s Y
Dy=diff(y,t); D2y=diff(Dy,t);
F=input("Enter coefficients of [y'' y' y]");
a=F(1);b=F(2);c=F(3);
nh=input('Enter the RHS function f(t)');
eqn=a*D2y+b*Dy+c*y-nh;
LTY=laplace(eqn,t,s);
IC=input("enter initial conditions [y0,y0']");
y0=IC(1);dy0=IC(2);
LTY=subs(LTY,laplace(y(t),t,s),Y);
LTY=subs(LTY,y(0),y0);
LTY=subs(LTY,subs(diff(y(t),t),t,0),dy0);
YS=solve(LTY,Y);
y=ilaplace(YS,s,t)
And when i enter the input:
[1 0 1]
3*(1-heaviside(t-4))+(2*t-5)*heaviside(t-4)
[1,0]
I get the output as
y =
2*ilaplace(1/(s^2*exp(4*s) + s^4*exp(4*s)), s, t) - 2*cos(t) + 3
how to get replace ilaplace in the answer with actual answer as function of t?
0 Kommentare
Akzeptierte Antwort
Shivansh
am 4 Okt. 2022
This can be resolved by using simplify function in the penultimate line of your code (line 16 in attached screenshot).
Below is a link to the documentation for the "simplify" function:
After using simplify function you will get output as
This problem can arise when there is there is presence of function which is not integrable in closed form. For example- "exp(-x^2)" is not integrable in closed form. If the expression cannot be simplified further, it will give output in term of ilaplace only.
However In some cases , when "ilaplace" returns a function of "ilaplace" as part of the output, calling "simplify" before passing the function to "ilaplace" leads to a closed-form solution.
This can be understood better by using the following example. If we execute the following line in Matlab.
syms s
ilaplace((exp(pi*s) + 1)/((exp(pi*s) + s^2*exp(pi*s))*(s^2 + s + 5/4)))
we will get result as-
ilaplace(exp(pi*s)/((exp(pi*s) + s^2*exp(pi*s))*(s^2 + s + 5/4)), s, t) +
ilaplace(1/((exp(pi*s) + s^2*exp(pi*s))*(s^2 + s + 5/4)), s, t)
If, however, one factors "exp(pi*s)" out of the numerator and denominator, one will get output as:
syms s
ilaplace(1/((s^2 + 1)*(s^2 + s + 5/4)) + exp(-pi*s)/((s^2 + 1)*(s^2 + s + 5/4)))
This returns:
(4*sin(t))/17 - (16*cos(t))/17 + (16*exp(-t/2)*(cos(t) + sin(t)/4))/17 -
heaviside(t - pi)*((4*sin(t))/17 - (16*cos(t))/17 + (16*exp(pi/2 - t/2)*(cos(t) + sin(t)/4))/17)
which is a closed-form solution.
Similarly, if one calls:
syms s
ilaplace(simplify((exp(pi*s) + 1)/((exp(pi*s) + s^2*exp(pi*s))*(s^2 + s + 5/4))))
This returns:
(4*sin(t))/17 - (16*cos(t))/17 + (16*exp(-t/2)*(cos(t) + sin(t)/4))/17 -
4*heaviside(t - pi)*(sin(t)/17 - (4*cos(t))/17 + (4*exp(pi/2 - t/2)*(cos(t) + sin(t)/4))/17)
Which is the same output after factoring out "exp(pi*s)"(after simplification).
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Calculus finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!