我一般不使用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>>]}既不是替换规则列表也不是有效的调度表,因此不能用于替换
有人知道为什么指数词会造成麻烦吗?
由于
答案 0 :(得分:2)
您可以尝试
s = NDSolve[equa, {x, y, z}, {t, 0, 10}];
Plot[Evaluate[({x[t], y[t], z[t]} /. s)], {t, 0, 1}]