新人求助
mathematica吧
全部回复
仅看楼主
level 2
求解一个微分方程组的数值解,但是请问为什么会有这个报错?
请问各位大佬如何修改[乖]
2021年04月02日 00点04分 1
吧务
level 10
有中文逗号,先改了咱再考虑别的
2021年04月02日 02点04分 2
对不起[泪],甚至还忘记贴代码了,抱歉了
2021年04月02日 08点04分
level 2
把中文逗号改完了[狂汗]
但是用NDsolve 出不了图片,Dsolve会报错:【DSolve::deqx: Supplied equations are not differential or integral equations of the given functions.】
这是ND的代码:
ClearAll["Global`*"];
SubValues[Derivative] = {};
NDSolve[{(-a*y[t]^2 + (-1 + a^2 - k)*y[t]*z[t] +
a*z[t]^2 + (1 + a^2 + k)*Derivative[1][x][t] ==
g*Sin[\[Beta][t]] -
g*a*Cos[\[Beta][t]]*Cos[\[Gamma][t]]), (a*x[t]*y[t] +
x[t]*z[t] + (1 + 2*k)*Derivative[1][y][t] -
a*Derivative[1][z][t] == -g*Cos[\[Beta][t]]*
Sin[\[Gamma][t]]), (-a*x[t]*z[t] + (1 - a^2)*x[t]*y[t] -
a*Derivative[1][y][t] + (a^2 + k)*Derivative[1][z][t] ==
g*a *Cos[\[Beta][t]]*Sin[\[Gamma][t]]), (x[t] ==
Derivative[1][\[Alpha]][t]*Cos[\[Beta][t]]*Sin[\[Gamma][t]] +
Derivative[1][\[Beta]][t]*Cos[\[Gamma][t]]), (y[t] ==
Derivative[1][\[Alpha]][t]*Sin[\[Beta][t]] -
Derivative[1][\[Gamma]][t]), (z[t] ==
Derivative[1][\[Alpha]][t]*Cos[\[Beta][t]]*Cos[\[Gamma][t]] -
Derivative[1][\[Beta]][t]*Sin[\[Gamma][t]]),
\[Alpha][0] == 0.001, \[Beta][0] == 0.006, \[Gamma][0] == 0.005,
\[Alpha]'[0] == 1, \[Beta]'[0] == 1, \[Gamma]'[0] == 1,
a == 0.2, k == 0.01, g == 10},
{x[t], y[t], z[t], \[Alpha][t], \[Beta][t], \[Gamma][t]},
{t, 0, 4}]
ParametricPlot[{{t, x[t]}, {t, y[t]}, {t, z[t]}}, {t, 0, 4}]
2021年04月02日 08点04分 3
你仔细看看NDSolve的自带帮助,看看人家是怎么使用NDSolve的结果画图的。若是不会查帮助或是不确定自己会不会查帮助,请看吧里精品区相关帖子。
2021年04月03日 04点04分
SubValues这一条你是哪里学的?这个用来清除Derivative定义确实很合适,但是SubValues是底层函数且未提供帮助文档,一直以来都没见过有谁这么教的
2021年04月04日 22点04分
1