Решение нелинейного дифференциального уравнения - PullRequest
0 голосов
/ 05 марта 2012

Я вообще не использую 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 Ответ

2 голосов
/ 05 марта 2012

Вы можете попробовать

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

...