在ParametricPlot

时间:2018-11-18 21:10:24

标签: math wolfram-mathematica physics

我正在使用Mathematica的NDSolve求解并绘制双摆的运动方程。

我已经使用标准绘图成功绘制了Angular位置。但是当我开始使用参数图绘制每个质量的位置时。我没有错误,但没有情节。

eqn1 = 2 th''[t] + Sin[th[t] - ph[t]] (ph'[t])^2 + Cos[th[t] - ph[t]] (ph''[t]) + (2 g/l) Sin[th[t]]
eqn2 = ph''[t] + Sin[th[t] - ph[t]] (th'[t])^2 + Cos[th[t] - ph[t]] (th''[t]) + (g/l) Sin[th[t]]
eqnA = eqn1 /. {g -> 10, l -> 1}
eqnB = eqn2 /. {g -> 10, l -> 1}

sol = NDSolve[{eqnA == 0, eqnB == 0, th[0] == 0.859, th'[0] == 0, ph[0] == 0.437, ph'[0] == 0}, {th, ph}, {t, 0, 10}]
Plot[{th[t], ph[t]} /. sol, {t, 0, 10}]
r1 = {lSin[th[t]] + lSin[ph[t]], -lCos[th[t]] - lCos[ph[t]]} /. {l -> 1, g -> 10}

ParametricPlot[r1 /. sol, {t, 0, 10}]

1 个答案:

答案 0 :(得分:1)

替换

r1 = {lSin[th[t]] + lSin[ph[t]], -lCos[th[t]] - lCos[ph[t]]} /. {l->1, g->10}

使用

r1 = {l*Sin[th[t]] + l*Sin[ph[t]], -l*Cos[th[t]] - l*Cos[ph[t]]} /. {l->1, g->10}

,然后您的ParametricPlot应该出现。

您可能还记得一个有用的技巧,当没有出现任何绘图时,您可以尝试用Table替换该绘图并查看其显示内容。通常,数据表会提供有关为什么未显示该图的必要提示。