如果我有一个用一阶微分方程表示的二阶微分方程,它描述了一个质量-弹簧-阻尼器系统,当我不知道一阶微分方程时,我怎么能用欧拉法来画这个方程呢?我想用MatLab来做这件事。这是一个家庭作业问题,所以我还没有发布任何代码。我只想要一个简单的大纲,告诉你该怎么做。
二阶导数是d2(t+1) = (-1/m)*(c*d1+k*y),其中c,m,k是常数,y初始是1,d1是从0开始的一阶微分,t是时间。
有什么想法吗?
谢谢:)。
发布于 2011-01-28 01:10:22
二阶方程可以转化为一阶微分方程组。
function dy = ex(y)
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = -c/m*y(2) - k/m*y(1);由此,您可以使用Matlab的内置求解器。ode23s将会工作得很好:
[t,y] = ode23s(@ex, y0, tspan)发布于 2011-01-28 00:28:01
将二阶方程重写为一阶方程组。未知数对应于位置和速度。
发布于 2011-01-28 00:55:38
一阶微分方程组可能看起来像这样,而y1 = y。'用于表示时间导数。
y1' = y2
y2' = -c/m*y2 - k/m*y1https://stackoverflow.com/questions/4818897
复制相似问题