Explicit solution can not be found using dsolve of second order differential equation
조회 수: 2 (최근 30일)
이전 댓글 표시
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
Torsten
2022년 9월 12일
편집: Torsten
2022년 9월 12일
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.
채택된 답변
Alan Stevens
2022년 9월 12일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Calculus에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!