Integrating 2nd order differential equation with ode45
조회 수: 2 (최근 30일)
이전 댓글 표시
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
![Screen Shot 2018-12-09 at 12.33.03 AM.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/198604/Screen%20Shot%202018-12-09%20at%2012.33.03%20AM.png)
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
댓글 수: 0
채택된 답변
madhan ravi
2018년 12월 9일
xde(2) = -(b./m).*x(2) - (k./m)*x(1);
^----------should be 2 not 3!
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!