Query regarding solving differential equation
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
I'm trying to solve equation of a mass damper system shown in the image. The x (LHS) is the unknown displacement which is to be solved from the equation.I know y and dy/dx values at each instant of time (obtained from experiments). While solving using ode45 I'm not able to update the value of y and dy/dx for each time interval. How else can I solve the equation to get value of x. I used central difference scheme but the answer is diverging from the expected values drastically, when marched in time. Thank you in advance.
0 个评论
回答(2 个)
sloppydisk
2018-5-24
I'm guessing you are trying to use ode45 with variable timestep, make sure to pass y and dy/dx as an interpolation function such that it is defined for any point in time. For example like this:
yInterp = @(thisTime) interp1(t, y, thisTime);
0 个评论
The example
ODE with Time-Dependent Terms
under
https://de.mathworks.com/help/matlab/ref/ode45.html
shows how to solve your problem using ODE45.
Your y and dy/dt should take the role of f and g in the example.
Best wishes
Torsten.
0 个评论
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!