ode45,ODE23 , force is not a time dependent function

4 views (last 30 days)
Hi;
As you can see in the code ; normally for ODE23 I was defining the force with time such as Fy=@(t) Fyr*sin(w*t);
But now the force values are given in the excel and I couldn't understand how can I apply force now?
To solve ode23, as in F=[....], Fy(t), Fz(t) and Mt(t) depend on t, but this time I have force values and they are not functions.
What should I do?

Accepted Answer

Walter Roberson
Walter Roberson on 27 May 2022
If you have external impulses, then none of the ode* functions can be used for the entire timespan, unless the forces can be interpolated with degree two or more, such as using interp1 'spline'.
If they cannot be made smooth enough then you need to stop the ode* function at the each location that fails C2 continuity.
This is because the mathematics of optimal point selection to calculate new points from is dependent upon intepolating polynomials that require continuity.

More Answers (1)

Sam Chak
Sam Chak on 27 May 2022
Hi Gloria
You can load data on Excel to Workspace and then use the function interp1(t,Fy,Ts) to interpolate the data set (t,Fy) at simulation time Ts. For more info, check out the link:

Community Treasure Hunt

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

Start Hunting!