2012-03-05 133 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 – 2012-03-05 12:25:50

回答

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 2012-03-05 15:59:06

+1

這是數值解決方案... – 2012-03-06 01:13:00

+0

對於這個系統肯定,但對於我的楓樹和python給出與mathematica答案不同甚至不同的行爲! – PanAkry 2012-03-06 13:30:31