微分方程初值问题
mathematica吧
全部回复
仅看楼主
level 2
hsfakj 楼主
Manipulate[
Module[{sol, plt, A, C0, C2, h1, Q0, Q1, h2, Q2}, A = 25*\[Pi];
C0 = 31.6; C2 = 63.2;
sol = Quiet[
NDSolve[{A*D[h1[t], {t, 1}] == Q1[t] - Q2[t],
Q2[t] == C2*Sqrt[h1[t] - h2[t]],
A*D[h2[t], {t, 1}] == Q2[t] - Q0[t], Q0[t] == C0*Sqrt[h2[t]],
Q1[t] == 500*(0.5 - Kp*(h2[t] - 5)), h1[0] == 0.2,
h2[0] == 0.1}, {h1[t], h2[t], Q0[t], Q1[t], Q2[t]}, {t, 0,
100}]]; plt =
Plot[{h1[t] /. sol, h2[t] /. sol}, {t, 0, 80},
PlotRange -> {0, 20}, PlotStyle -> {Blue, Red},
ImageSize -> {500, 350}, Frame -> True,
FrameLabel -> {"时间/min", "液位高度/ft"}]], {{Kp, 0.2 "比例增益常数"}, 0, 1,
0.01, Appearance -> "Labeled", ImageSize -> Tiny}]
图中红色框中地初值应该都是0,但是如果设置为0就只能得到两条直线,我希望得到和图中类似地曲线
2021年03月21日 12点03分 1
1