%----------------CODE - 1-----------------------------
function second_order_ode clc clear t = 0:0.001:3; % time scale
initial_x = 0; initial_dxdt = 0; [t,x] = ode45 ( @rhs, t, [initial_x, initial_dxdt]); plot(t,x(:,2)); xlabel('t'); ylabel('x'); title('Solution to ODE d^2x/dt^2+5dx/dt-4x(t)=sin(10t)') disp([t,x(:,2)]) function dxdt=rhs(t,x) dxdt_1 = x(2); dxdt_2 = -5*x(2)+4*x(1)+sin(10*t); dxdt = [dxdt_1; dxdt_2]; end end %----------------CODE - 2-----------------------------
clc clear syms x t x = Dsolve('D2x + 5*Dx - 4*x = sin(10*t)','x(0)=0','Dx(0)=0','t') tt = 0:.01:3 xx = subs(x,t,tt) plot(tt,xx)
MATLAB: I have used two different methods for same problem and getting different plots
dsolveode45plotsecond order ode
Best Answer