Explicit solution can not be found using dsolve of second order differential equation
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a second order differential equation of the form written below
I want to solve this differential equation using analytical method. For that I have written a code (see below)
%%%%%%%%%%%%%%%%
syms t y(t)
gamma=0.01;F=1;omega0=1;kappa=0.15;omega=0.15;
equation=diff(y,2)+2*gamma*diff(y)+omega0^2*(1+4*kappa*sin(2*omega*t))*y-2*F*sin(omega*t)==0;
Dy=diff(y);
conds = [y(0)==1,Dy(0)==0];
y = dsolve(equation,conds)
%%%%%%%%%%%%%%%%%
But whenever I run the code it shows explicit solution can not be found. I am new to MATLAB. Please help regarding this.
3 Commenti
Torsten
il 12 Set 2022
Modificato: Torsten
il 12 Set 2022
This question goes deeply into theoretical results about the boundedness of solutions of differential equations of the form
xdot = A(t)*x + b(t)
I'm not able to give you an answer whether the behaviour of ode45 is correct or due to numerical instabilities.
But since the behaviour of my solution curve under
looks very regular, my guess is that x can be unbounded for certain parameter constellations.
But the rule to decide if the solution will be bounded or unbounded from the parameter values is not possible for me.
Maybe Sam Chak can elaborate a little how he came up with the value of kappa <= 0.1469.
Risposta accettata
Alan Stevens
il 12 Set 2022
Do you have a reason to believe there is an analytical solution to this?
It is simply solved numerically, as follows:
X0 = [1, 0];
tspan = [0 100];
[t, X] = ode45(@fn, tspan, X0);
plot(t,X(:,1)),grid
xlabel('t'), ylabel('x')
function dXdt = fn(t,X)
gamma=0.01;F=1;omega0=1;kappa=0.15;omega=0.15;
x = X(1); v = X(2);
dXdt = [v;
2*F*sin(omega*t)-omega0^2*(1+4*kappa*sin(2*omega*t))*x-2*gamma*v];
end
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!