0

我正在尝试求解二阶非线性微分方程。结果显示没有解决方案,但是当我检查 WolframAlpha 时,存在解决方案。我使用了这段代码,没有解决方案。我想知道如果代码有问题或者Matlab不能解决。谢谢你。

syms z(t) t A B C D
zp = diff(z,t);
zpp = diff(z,t,2);
eqn = ( A*zpp  + B*z^2 + C*z == D );
cond = [z(0)==0, zp(0)==0];
zSol = dsolve(eqn,cond,'IgnoreAnalyticConstraints',true);
zSol = unique(simplify(zSol))
4

1 回答 1

0

如果解决方案是指根据基本函数的解决方案,则没有这样的解决方案。有一个椭圆函数的解。我怀疑,这就是 Matlab 和 WolframAlpha 之间存在差异的原因。Wolfram 可能包含椭圆函数并设法显示它们。也许Matlab不这样做。无论哪种方式,您都可以将方程求解到时间 t 等于椭圆积分的点,为了求逆,您需要上述椭圆函数。

于 2021-10-15T16:42:53.320 回答