【发布时间】:2021-12-01 10:50:37
【问题描述】:
我正在尝试求解一个二阶非线性微分方程。结果显示没有解决方案,但是当我检查 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))
【问题讨论】:
-
您是否通过删除 B 来测试您的代码?基本上设置B=0,这意味着从代码中删除所有包含B的项,然后检查Matlab是否要求解方程。如果是这样,语法没问题,但 Matlab 不知道如何求解原始方程(因为它的解包括椭圆积分的反演,即椭圆函数)。
标签: matlab ode nonlinear-equation