你说的求它们走过的路程,是要求路线的函数表达式,还是一个标量?如果是标量的话,那应该就是a吧,用相对运动来分析的话。如果是求表达式的话,那就是应该用与你这个类似的思路,但是,你对这个问题的分析不足啊。你仔细看看,k其实是可以用x和y表示出来的。
我试了一下,新得出的方程似乎依旧不能DSolve,但是NDSolve是没问题的。试算了一下(取了v和a等于1):
a = NDSolve[{
(x2[t] - x1[t]) ==
x1'[t] Sqrt[(x2[t] - x1[t])^2 + (y2[t] - y1[t])^2],
(y2[t] - y1[t]) ==
y1'[t] Sqrt[(x2[t] - x1[t])^2 + (y2[t] - y1[t])^2],
(x3[t] - x2[t]) ==
x2'[t] Sqrt[(x3[t] - x2[t])^2 + (y3[t] - y2[t])^2],
(y3[t] - y2[t]) ==
y2'[t] Sqrt[(x3[t] - x2[t])^2 + (y3[t] - y2[t])^2],
(x4[t] - x3[t]) ==
x3'[t] Sqrt[(x4[t] - x3[t])^2 + (y4[t] - y3[t])^2],
(y4[t] - y3[t]) ==
y3'[t] Sqrt[(x4[t] - x3[t])^2 + (y4[t] - y3[t])^2],
(x1[t] - x4[t]) ==
x4'[t] Sqrt[(x1[t] - x4[t])^2 + (y1[t] - y4[t])^2],
(y1[t] - y4[t]) ==
y4'[t] Sqrt[(x1[t] - x4[t])^2 + (y1[t] - y4[t])^2],
x1[0] == 1, y1[0] == 1, x2[0] == 1, y2[0] == 0,
x3[0] == 0, y3[0] == 0, x4[0] == 0, y4[0] == 1}, {x1[t], y1[t],
x2[t], y2[t], x3[t], y3[t], x4[t], y4[t]}, {t, 0, 1}]
ParametricPlot[{{First@(x1[t] /. a),
First@(y1[t] /. a)}, {First@(x2[t] /. a),
First@(y2[t] /. a)}, {First@(x3[t] /. a),
First@(y3[t] /. a)}, {First@(x4[t] /. a), First@(y4[t] /. a)}}, {t,
0, 1}, PlotRange -> All]
结果曲线: