为什么Mathematica解微分方程有时会报错?

有时候输入正确命令后也会报错,重启软件再输入就正常了,什么原因?
有时mathematica会把等号==判定为逻辑符号,如
in= s = NDSolve[{y'[x] == -0.22 y[x] + 2.715 x, y[0] == 0}, y, {x, 0, 0.5}]
out= NDSolve[{True, True}, y, {x, 0, 0.5}]

并报错 NDSolve::deqn: Equation or list of equations expected instead of True in the first argument {True,True}. >>

如果重启了就正常了,那八成是你对某些参数赋了值没清空。仔细观察你的变量的颜色,如果某些本该是蓝色的变量显示为了黑色,那么,就要把它清掉。一个例子:

x = 1;
DSolve[{y'[x] == x, y[0] == 1}, y[x], {x}]
Clear[x]
DSolve[{y'[x] == x, y[0] == 1}, y[x], {x}]

追问

有时mathematica会把等号==判定为逻辑符号,怎么办?(补充)

追答

照样是因为没清干净,只不过这回的这个量是被存到导数(Derivative)里了(y'[x]的完整形式是Derivative[1][y][x])。出现这种情况八成是之前写方程的时候把==写成=了。只要

Clear[Derivative]

就可以了。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答