【发布时间】:2017-12-14 19:36:26
【问题描述】:
我需要求解 w'=g(t,w(t)) 形式的微分方程,其中 g 定义如下
g[t_, w_] := {f1[t, {w[[3]], w[[4]]}], f2[t, {w[[3]], w[[4]]}], w[[1]],w[[2]]};
而f1、f2是
f1[t_, y_] := Sum[\[Mu][[i]] (s[[i]] - y)/Norm[s[[i]] - y]^2, {i, 1, 5}][[1]];
f2[t_, y_] := Sum[\[Mu][[i]] (s[[i]] - y)/Norm[s[[i]] - y]^2, {i, 1, 5}][[2]];
其他所有内容都已正确定义并且不是错误的原因。 然而当我使用
sout = NDSolve[{y'[tvar] == g[tvar, y[tvar]],
y[0] == {Cos[Pi/6], Sin[Pi/6], 0, 0}}, y, {tvar, 0, 2}, Method -> "ExplicitRungeKutta"];
我得到了错误
Part::partw: Part 3 of y[tvar] does not exist.
Part::partw: Part 4 of y[tvar] does not exist.
我查看了其他问题,但没有一个解决了这个问题。
【问题讨论】:
-
设置以便mathematica 理解
y是一个向量函数是很棘手的。看到这里mathematica.stackexchange.com/q/78641/2079 并在该网站上询问您是否需要更多帮助
标签: wolfram-mathematica runge-kutta