0

我一般不使用 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>>]} 既不是替换规则列表也不是有效的调度表,因此不能用于替换

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

谢谢

4

1 回答 1

2

你可以试试

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

在此处输入图像描述

于 2012-03-05T14:38:18.440 回答