ode45,ODE23 , force is not a time dependent function

1 次查看(过去 30 天)
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?

采纳的回答

Walter Roberson
Walter Roberson 2022-5-27
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.

更多回答(1 个)

Sam Chak
Sam Chak 2022-5-27
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:

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by