給出以下等式。matlab - 使用runge kutta的數值方法的2次二次ODE繪圖
我知道我需要打破2二階常微分方程的爲4個一階ODE的。這是我所擁有的。我首先介紹了新的變量u,並且在圖片的底部我寫了我使用ODE45的matlab函數。
現在的問題是,即時通訊應該得到一個拋物線形圖(藍線),但是這不是我所得到。
我已經通過我的代碼沒有結果去了一千倍。可以檢測我的功能中的任何錯誤?
主程序
global g H R alfa
alfa=pi/2;
g = 20.0;
R = 1;
H=2.3;
k = 0:0.01:2;
[T,Y] = ode45(@fspace,k,[H 0 0 0]);
plot(T,Y(:,1))
hold on
fi= 0:2*pi/60:2*pi;
xx =R*cos(fi);
yy =R*sin(fi);
plot(xx,yy)
函數f
function f = fspace(x,u)
global g R H alfa G
G=(g*R.^2)./((R+H).^2);
f = [u(2) G*cos(alfa)-g*((R.^2)/u(1).^2)+u(1)*u(4)^2 u(4) (G*sin(alfa)-2*u(2)*u(4))/u(1)];
是你的問題matlab有關嗎?如果是的話,你需要發佈相關的matlab代碼。否則你的問題是不適合SO,而應該將它移到math.stackexchange.com –
它是matlab實現的。該函數是用matlab代碼編寫的。 –
這些是兩個耦合的非線性ODE;每個等式中的第二項都是如此。你必須以迭代的,漸進的方式來解決這些問題。你必須先將這些線性化。 – duffymo