这个程序用mathematica怎么解不出来?

DSolve[{y''[x] - 1000 (1 - y[x]^2) y'[x] - y[x] == 0, y[0] == 0, y'[0] == 1}, y[x], x]

DSolve求不出微分方程解析解的情况还是比较常见的,要么是方程本身没解析解,要么是DSolve不会求它的解析解。相对而言,NDSolve的表现就要好得多。如果你只需要数值解,不妨试试:
NDSolve[{y''[x] - 1000 (1 - y[x]^2) y'[x] - y[x] == 0, y[0] == 0, y'[0] == 1}, y[x], {x, 0, 10}]追问

那要是它不能解 应该用什么求解呢?

追答

……所以说,你在你的问题中给出的代码没有任何语法上的问题,只不过这个方程的解析解没法用DSolve来求,或许是DSolve不会解这个方程,或许这个方程压根没有解析解。老实说,我个人倾向于后者,因为你这个方程是个非线性常微分方程,而DSolve已经包含了几乎所有非线性微分方程的一般程序,那么,它求不出来那十有八九这个方程(至少目前)就是没有解析解的了。

如果你是要数值解的话,可以用NDSolve,代码上面已经给了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-05
程序语句错误。追问

那该怎么编程解决呢?

追答

可能是你括号打错位置。

相似回答