Мне нужно решить дифференциальное уравнение вида 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.
Я просмотрел другие вопросы, и ни один из них не решил эту проблему.
y
является векторной функцией, сложно. см. здесь mathematica.stackexchange.com/q/78641/2079 и спросите на этом сайте, нужна ли вам дополнительная помощь - person agentp   schedule 15.12.2017