Dx=y
Dy=-k*y-x^3+9.8*cos(t)
inits=('x(0)=0,y(0)=0')
這些是我想繪製的微分方程。如何繪製matlab中的非線性微分方程
首先,我試圖解決微分方程,然後繪製圖。
Dsolve('Dx=y','Dy=-k*y-x^3+9.8*cos(t)', inits)
像這樣,但是,這個系統沒有明確的解決方案。
現在我被困:(
你怎麼能畫出這個系統,無需解方程
Dx=y
Dy=-k*y-x^3+9.8*cos(t)
inits=('x(0)=0,y(0)=0')
這些是我想繪製的微分方程。如何繪製matlab中的非線性微分方程
首先,我試圖解決微分方程,然後繪製圖。
Dsolve('Dx=y','Dy=-k*y-x^3+9.8*cos(t)', inits)
像這樣,但是,這個系統沒有明確的解決方案。
現在我被困:(
你怎麼能畫出這個系統,無需解方程
首先定義要解決它需要一個函數,有兩個參數的微分方程? - 當前時間t
和當前位置x
,並返回一個列向量。相反,x和y的,我們將使用x(1)
和x(2)
。
k = 1;
f = @(t,x) [x(2); -k * x(2) - x(1)^3 + 9.8 * cos(t)];
防守INE要解決在時間跨度和初始條件:
tspan = [0, 10];
xinit = [0, 0];
現在求解方程數值使用ode45
:
ode45(f, tspan, xinit)
,導致該地塊:
如果您想在時間點獲取解決方案的值,那麼只需要輸入一些參數:
[t, y] = ode45(f, tspan, xinit);
您可以通過執行
plot(y(:,1), y(:,2)), xlabel('x'), ylabel('y'), grid
導致以下情節
Yoy謝謝。但是現在,我怎樣才能得到x(1)與x(2)的圖?不過,非常感謝幫助我。 –
@ShawnSihyunJeon我編輯,告訴你如何繪製。 –
很酷。非常感謝! –
確定X,Y,T,並通過繪製相圖X對ÿ – apomene