MATLAB: How do i solve a second order ODE with variable coefficients

differential equationsequationssecond order

I am fairly new to MATLAB and i don't really know how to solve this equation. y''+(exp(-10t)+sen(10t))y'+y=0 If anyone could help me it would me much appreciated

Best Answer

This seems to work:
% % % y''+(exp(-10t)+sen(10t))y'+y = 0
syms t y(t) Y
D1y = diff(y,t);
D2y = diff(y,t,2);
Eqn = D2y + exp(-10*t) + sin(10*t)*D1y + y == 0;
yode = odeToVectorField(Eqn);
Yodefcn = matlabFunction(yode, 'Vars',[t Y]);
% Yodefcn = @(t,Y) [Y(2);-exp(t.*-1.0e1)-sin(t.*1.0e1).*Y(2)-Y(1)];
tspan = [0 15];
Y0 = [0 0];
[T,Y] = ode45(Yodefcn, tspan, Y0);
figure(1)
plot(T, Y)
grid
If you do not have the Symbolic Math Toolbox, delete that part of my code and use the commented ‘Yodefcn’ instead, with the rest of my code.