【发布时间】:2018-01-03 10:34:46
【问题描述】:
给定两个带有阻尼器/弹簧的系统:
第一个系统的 simulink 模型,步长为 2,最终值为 0.5:
具有相同输入的第二个系统的Simulink:
我必须找到使用 dsolve 和 ode45 的代码才能使用 Simulink 生成相同的图形。给定值是:
m1 = 500
c1 = 1200
k1 = 25000
k2 = 15000
m2 = 50
我试图找到dsolve,但无法解决。所以我不得不使用ode45,我完全迷路了。
第一个系统的微分方程:
syms x(t) y(t)
Dy = diff(y,t);
Dx = diff(x,t);
D2x = diff(x,2,t);
cond = [x(0)==0, y(0)==0, Dy(0)==0, Dx(0)==5];
eqn33 = D2x + (2*0.2121*0.1414*Dx) + (0.1414^2)*x==2*0.2121*0.1414*Dy+(0.1414^2)*y;
sol33 = dsolve(eqn33,cond)
pretty(sol33)
【问题讨论】:
-
问题是什么?如何解决这个 ODE?这不是编程问题。
-
dsolve不能解决的原因是因为你有两个微分变量(x和y),但只有一个微分方程。 -
问题是,我必须找到与 simulink 模型相同的两个系统的位移图。条件可能会有所不同。
-
你能贴一张你的 Simulink 模型的截图吗?
-
当然。刚刚上传
标签: matlab plot simulink ode45 dsolve