2012-03-05 4 views
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 :: репс: {Dsolve [< < 1 >>]} является ни список правил замены, ни действительная таблица доставки, и поэтому не может быть использована для замены

ли кто-нибудь знает, почему экспоненциальный термин создает проблемы?

Благодаря

+1

попробовать mathematica.stackoverflow.com –

ответ

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

+0

Я попробовал ваше решение, но это не дает мне ответ на запись! – PanAkry

+1

Это числовое решение ... –

+0

Для этой системы, конечно, но для моего клена и питона дают другое и даже другое поведение от математического ответа! – PanAkry

Смежные вопросы