當前位置:首頁 » 微商世界 » 時間微商龍格庫塔

時間微商龍格庫塔

發布時間: 2021-08-11 03:39:11

① 跪求用龍格庫塔求解微分方程的matlab程序

>> f=inline('1/6-y/30','t','y');
>> [t,y]=ode45(f,[0,5],[0]);
>> plot(t,y)

另外,由高數的知識,可以得到解析解為:y=5-5*e^(-t/30)
把上述的解析值也放到上圖中。

>> hold on
>> plot(t,5-5*exp(-t/30),'r*')
可以看到二者相當吻合。

② 龍格庫塔的文字介紹

龍格-庫塔(Runge-Kutta)法
到目前為止,我們已經學習了多步法,例如:亞當斯-巴什福思(Adams
-Bashorth)法,亞當斯-莫爾頓(Adams-Monlton)法,都是常微分方程的積分
方法。它們需要在每一次迭代時重新計算一遍等式右邊的結果(非線性隱含問
題忽略計算多個 f (ω)值的可能性)
龍格-庫塔(Runge-Kutta)法是一種不同的處理,作為多級方法為人們所知。
它要求對於一個簡單的校正計算多個 f 的值。
下面,我們列出了 3 種最流行的龍格-庫塔(Runge-Kutta)法:
改進的歐拉方法(精度:p=2):
V a = V n + Δtf (V n,tn)
2
Δt)二階格式
V n+1 = V n +Δtf (V a,tn +
2
Hevn』s 方法(p=2):
這是另一種二階格式:
V a = V n +Δtf (V n,tn)
V n = V n +
+1 Δt[ f (V n,tn) + f (V a,tn +Δt)]
2
注意: f (Vn,tn)在運算中應該只被計算一次。
四次龍格-庫塔(Runge-Kutta)法(p=4):
這是一個 4 階格式。這次我們寫的形式有點不同:
a = Δtf (V n,tn)
b = Δtf (V n + 1 a,tn + 1
2 2 Δt)
c = Δtf (V n + 1 b,tn + Δt)
1
2 2
d = Δtf (V n + c,tn +Δt)
V n =V n +
+1 1 (a +2b +2c +d)。
6

③ 冪級數法與ode45龍格庫塔法哪個更准確

我通過查文獻知道這里們要用到四階龍格庫塔法進行ode45函數法擬合,即求取同時滿足。
可以給定初值的!數據可以變成這樣
t=[0 7 32 57 82 107 187 307 467 607];
x=[0.9748 0.0105 0.0108 0.0039;
0.8088 0.1032 0.0143 0.0737;
0.2481 0.1258 0.0941 0.5103;
0.0771 0.1264 0.1310 0.6655;
0.0307 0.0931 0.1395 0.7367;
0.0000 0.0714 0.1155 0.8131;
0.0000 0.0599 0.0986 0.8415;
0.0000 0.0588 0.0914 0.8498;
0.0000 0.0506 0.0715 0.8798];
x=[0.9919 0.0043 0.0029 0.0008];

④ 求大神用龍格庫塔法解一道題

解方程很簡單,調用ode45即可
關鍵是求運動時間,假設z方向坐標變為0即為落至地面運動結束,可求得運動時間的近似值及落地點坐標
代碼如下:
clear all
clc
c=0.07;
u0=25;
a=pi/6;
f=@(t,x)([x(2);
-c*sqrt(x(2)^2+(x(4)-7-.35*x(5))^2+x(6)^2)*x(2);
x(4);
-c*sqrt(x(2)^2+(x(4)-7-.35*x(5))^2+x(6)^2)*(x(4)-7-.35*x(5));
x(6);
-9.81-c*sqrt(x(2)^2+(x(4)-7-.35*x(5))^2+x(6)^2)*x(6)]);

[t,Y]=ode45(f,0:.01:2,[0 u0*cos(a) 0 0 1.4 u0*sin(a)]);
n=max(find(Y(:,5)>0));
t_end=t(n)
s=[Y(n,1),Y(n,3),0]
plot3(Y(1:n,1),Y(1:n,3),Y(1:n,5))
其中t_end為運動時間
s為落地點坐標
看了半天,怎麼都覺得方程不太對
再檢查一下方程吧,尤其是第二個方程等號右邊到底有沒有負號
最後一個方程等號右邊也有問題,請仔細檢查

⑤ 求大神指點!matlab編寫了一段龍格庫塔法求解微分方程,可是為什麼運行了會顯示輸入的參數不足啊

微分在數學中的定義:由函數B=f(A),得到A、B兩個數集,在A中當dx靠近自己時,函數在dx處的極限叫作函數在dx處的微分,微分的中心思想是無窮分割。微分是函數改變數的線性主要部分。微積分的基本概念之一。
設函數y = f(x)在x的鄰域內有定義,x及x + Δx在此區間內。如果函數的增量Δy = f(x + Δx) - f(x)可表示為 Δy = AΔx + o(Δx)(其中A是不隨Δx改變的常量,但A可以隨x改變),而o(Δx)是比Δx高階的無窮小(註:o讀作omicron,希臘字母)那麼稱函數f(x)在點x是可微的,且AΔx稱作函數在點x相應於因變數增量Δy的微分,記作dy,即dy = AΔx。函數的微分是函數增量的主要部分,且是Δx的線性函數,故說函數的微分是函數增量的線性主部(△x→0)。
通常把自變數x的增量 Δx稱為自變數的微分,記作dx,即dx = Δx。於是函數y = f(x)的微分又可記作dy = f'(x)dx。函數因變數的微分與自變數的微分之商等於該函數的導數。因此,導數也叫做微商
當自變數X改變為X+△X時,相應地函數值由f(X)改變為f(X+△X),如果存在一個與△X無關的常數A,使f(X+△X)-f(X)和A·△X之差是△X→0關於△X的高階無窮小量,則稱A·△X是f(X)在X的微分,記為dy,並稱f(X)在X可微。一元微積分中,可微可導等價。記A·△X=dy,則dy=f′(X)dX。例如:d(sinX)=cosXdX。
微分概念是在解決直與曲的矛盾中產生的,在微小局部可以用直線去近似替代曲線,它的直接應用就是函數的線性化。微分具有雙重意義:它表示一個微小的量,因此就可以把線性函數的數值計算結果作為本來函數的數值近似值,這就是運用微分方法進行近似計算的基本思想。
希望我能幫助你解疑釋惑。

⑥ 龍格庫塔法的介紹

龍格-庫塔(Runge-Kutta)方法是一種在工程上應用廣泛的高精度單步演算法,用於數值求解微分方程。由於此演算法精度高,採取措施對誤差進行抑制,所以其實現原理也較復雜。

⑦ 龍格庫塔方法求解常微分方程為什麼會出現解誤差較大

你好,請搜索」VisualC++常微分方程初值問題求解「可以找到相關資料例如:三、使用經典龍格-庫塔演算法進行高精度求解龍格-庫塔(Runge-Kutta)方法是一種在工程上應用廣泛的高精度單步演算法。由於此演算法精度高,採取措施對誤差進行抑制,所以其實現原理也較復雜。同前幾種演算法一樣,該演算法也是構建在數學支持的基礎之上的。對於一階精度的歐拉公式有:yi+1=yi+h*K1K1=f(xi,yi)當用點xi處的斜率近似值K1與右端點xi+1處的斜率K2的算術平均值作為平均斜率K*的近似值,那麼就會得到二階精度的改進歐拉公式:yi+1=yi+h*(K1+K2)/2K1=f(xi,yi)K2=f(xi+h,yi+h*K1)下面的具體程序實現同改進的歐拉演算法類似,只需作些必要的改動,下面將該演算法的關鍵部分代碼清單列出:……for(floatx=0;x<0.6;x+=0.1){r=x+expf(-x);K1=x-y[i]+1;file://求K1K2=(x+(float)(0.1/2))-(y[i]+K1*(float)(0.1/2))+1;file://求K2K3=(x+(float)(0.1/2))-(y[i]+K2*(float)(0.1/2))+1;file://求K3K4=(x+0.1)-(y[i]+K3*0.1)+1;file://求K4y[i+1]=y[i]+(float)(0.1*(K1+2*K2+2*K3+K4)/6);file://求yi+1r=fabs(r-y[i]);file://計算誤差str.Format("y[%d]=%fr=%f\r\n",i,y[i],r);i++;msg+=str;}AfxMessageBox(msg);file://報告計算結果及誤差情況

⑧ 用龍格庫塔法求解微分方程時,函數ode45中的函數參數表達方式不一樣畫出的圖也不一樣

出現如此圖形不一致的錯誤,其主要原因是:題主想表達的函數不一致而造成的。在自定義的shier1(t,x)函數中錯誤地把t用x(1)來表示,而把x1和x2用x(2)來表示,這造成該函數與題主先前用句柄函數定義的函數風馬不接,所以後面自定義的函數應該這樣來寫,即

function dy=shier1(t,x)

r=1;d=0.5;a=0.1;b=0.02;

dy=[t*(r-a*x(1));x(2)*(b*t-d)];

修改後運行後,可以得到一致的圖形。

⑨ 為什麼MATLAB的ode45函數和我按照龍格庫塔法解出來的結果不一樣

為什麼MATLAB的ode45函數和我按照BK4(龍格庫塔法)解出來的結果不一樣?其根本的原因是時間區間取了太大而造成,因為該微分方程超過【0,1.6】後,ode45法和BK4法得到的圖像就失穩。由於ode45法和BK4法雖然都是龍格庫塔法的思想,但ode45法是採用變步長進行計算,而BK4法是採用定步長進行計算,所以隨著時間區間范圍越來越大,其就不完全一樣了。

下圖為時間區間【0,1.6】時的圖像。

⑩ 龍格庫塔方法求微分方程的初值問題的前提是初值已知,但請問對給定的一個微分方程如何確定一個初值呢

方程是實際應用是列出來的,列方程的過程要得到一個初值是不難的
各種物理測量都可以應用
比如要列微分方程求某物體的運動軌跡,完全可以人為的設定物體在零時刻處於零位置

熱點內容
微信三天可見我還能看到對方朋友圈 發布:2021-08-17 15:55:04 瀏覽:114
微商神器x3朋友圈 發布:2021-08-17 15:54:12 瀏覽:667
微信朋友圈怎麼才能不壓縮視頻 發布:2021-08-17 15:53:58 瀏覽:746
af男裝微商 發布:2021-08-17 15:53:01 瀏覽:455
微信發朋友圈文字只顯示一行 發布:2021-08-17 15:53:01 瀏覽:775
微信怎麼看對方設置不看自己朋友圈 發布:2021-08-17 15:53:00 瀏覽:564
微商的萬斯是正品嗎 發布:2021-08-17 15:51:29 瀏覽:246
通過微信朋友圈加好友嗎 發布:2021-08-17 15:50:38 瀏覽:802
微信發了朋友圈之後怎麼修改 發布:2021-08-17 15:46:26 瀏覽:633
微商猜拳送手機詐騙怎麼辦 發布:2021-08-17 15:46:25 瀏覽:765