# Integrating 2nd order differential equation with ode45

1 view (last 30 days)
Ryan Bowman on 9 Dec 2018
Commented: madhan ravi on 9 Dec 2018
I'm trying to complete this assignment but I am having trouble with my code and I'm not sure why. Here is my assignment Here is my code I have written:
ti = 0;
tf = 10;
x0 = [1 0];
mass = 0;
b = 2.5;
k = 0;
for ii = 1:3
mass = mass + 1;
b = b-0.5;
k = k+2;
[time,position] = ode45(@(t_p2,x)odeMSD(t_p2,x,mass,b,k),[ti tf], x0);
figure(2), hold on
subplot(1,3,ii), hold on
plot(time,position(:,1), 'm') , plot(time,position(:,2), 'k')
legend('X Position (m)', 'Velocity (m/s)')
xlabel('Time (s)')
end
subplot(1,3,1)
title('1st Parameter')
subplot(1,3,2)
title('2nd Parameter')
subplot(1,3,3)
title('3rd Parameter')
hold off
function xde = odeMSD(t_p2,x,m,b,k)
xde = zeros(2,1);
xde(1) = x(1);
xde(3) = -(b./m).*x(2) - (k./m)*x(1);
end

madhan ravi on 9 Dec 2018
xde(2) = -(b./m).*x(2) - (k./m)*x(1);
^----------should be 2 not 3!
##### 2 CommentsShow 1 older commentHide 1 older comment
madhan ravi on 9 Dec 2018
Anytime :) , yes it should be
x0 = [1 1];
^----should be 1

### Categories

Find more on Programming in Help Center and File Exchange

R2018a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!