2011-05-13 61 views
0

所以我們嘗試解決簡單的ODE。我們使用文字book (warning - russian)。在本書中爲樣本這是代碼(第18頁):Maple ODE求解,圖形不完整。爲什麼?

> with(DEtools); with(plots); 
> eq1 := diff(x(t), t) = y(t); eq2 := diff(y(t), t) = -sin(x(t)); 

> init := [[x(0) = 1, y(0) = 0], [x(0) = 0, y(0) = 2]]; 
> DEplot([eq1, eq2], [x, y], t = 0 .. 110, x = -2*Pi .. 2*Pi, init, scene = [x, y], stepsize = 0.5e-1, obsrange = true, color = black, linecolour = black, arrows = 'MEDIUM') 

此代碼應提請:enter image description here

但楓輸出這對我來說:enter image description here

1)爲什麼只爲解決功能四分之一?

2)如何使它看起來像書中的樣子?

回答

2

在我看來你沒有顯示任何錯誤。根據你上面粘貼的內容,本書給出的情節更令我驚訝。考慮你的初始條件。第一個是[x(0)= 1,y(0)= 0],從點(1,0)開始並按時間向前移動110個增量(根據您提供的代碼)。這顯然是內部圈子。

儘管第二組初始條件[x(0)= 0,y(0)= 2]似乎正確地開始了它應該在的位置(點(0,2)處的圖頂部)然後它確實沿着場線移動,看起來我的弧度與較小的內部曲線大致相同。根據實地情況來看,這更有意義。一個問題可能是在點(pi,0)的尖端數值敏感。如果它在機器epsilon中一直沒有得到y值,那麼隨着您的圖表顯示,它將前往的下一個點將會回到右上角。

您是否嘗試過使用稍微不同的初始條件和時間增量?嘗試從點(-pi,0)開始並持續更長的時間,比如t = 0..300,然後看看會發生什麼。有時候在這些書中,他們選擇展示的情節不是從他們給你的代碼中精確地產生的,他們沒有提到這一點。

+1

好想法。還要考慮像[x(0)= 0,y(0)= 2-0.001]和[x(0)= 0,y(0)= 2-0.000001]等IC。您還可以查看場景[t ,x]或[t,y],看看IC上的細微變化會發生什麼。 – acer