非线性微分方程的解

时间:2012-03-05 12:17:42

标签: wolfram-mathematica differential-equations

我一般不使用Mathematica,我需要它与其他程序进行比较。我想解决一个三个微分和非线性方程组。为此,我使用Dsolve。当我把非线性项(指数)放在一边时,一切都会出错。

这是我的代码:

equa = {x'[t] == z[t] - Exp[y[t]], 
y'[t] == z[t] - y[t], 
z'[t] == x[t] + y[t] - z[t], 
x[0] == 0, 
y[0] == 0, 
z[0] == 0};
slt = DSolve[equa, {x, y, z}, t]
Plot[{x[t] /. slt}, {t, 0, 10}]

错误是这样的:

  

DSolve :: dsvar:0.1不能用作变量。

     

ReplaceAll :: reps:{Dsolve [<<< 1>>]}既不是替换规则列表也不是有效的调度表,因此不能用于替换

有人知道为什么指数词会造成麻烦吗?

由于

1 个答案:

答案 0 :(得分:2)

您可以尝试

s = NDSolve[equa, {x, y, z}, {t, 0, 10}];
Plot[Evaluate[({x[t], y[t], z[t]} /. s)], {t, 0, 1}]

enter image description here