I need help with this problem (finite difference method and ode)
3 views (last 30 days)
Show older comments
Hello, I solved this question using ode45. But I'm having trouble solving for y(t) using finite difference method. Here is the code I have so far. Can you explain to me how to use finite difference method on this problem? Thanks.

clear all
close all
c=0.0001;
g=9.81;
%dy/dt=v
%dv/dt=-cv^3-g
%ODE system dy_dt=F(t,y)
F = @(t,y) [y(2);-c*(y(2))^3-g];
%dy-dt=f(t,y)
f = @(t,y) -y;
%initial conditions
y0 = [40;0];
%Numerical solution using ode45
[t,yNumerical]=ode45(F,[0 5],y0);
%Analytical Solution
figure
plot(t,yNumerical(:,1),'--o','LineWidth',2)
hold on
plot(t,yNumerical(:,2),'--o','LineWidth',2)
legend('Position','Velocity')
0 Comments
Accepted Answer
Torsten
on 5 Dec 2017
How do you know that dy/dt at t=0 has to be 0 in order to reach a height of 5 m after 5 seconds ?
Hint: "ODE45" is not the correct solver for this problem, but "bvp4c".
For a finite-difference solution see
Best wishes
Torsten.
0 Comments
More Answers (0)
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!