日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Matlab之四阶龙格—库塔法方法:解常微分初值问题

發(fā)布時(shí)間:2023/12/31 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab之四阶龙格—库塔法方法:解常微分初值问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

1. 題目

2. 算法原理

3. 代碼

4. 結(jié)果

4.1 運(yùn)行結(jié)果

4.2 結(jié)果分析


【若覺(jué)文章質(zhì)量良好且有用,請(qǐng)別忘了點(diǎn)贊收藏加關(guān)注,這將是我繼續(xù)分享的動(dòng)力,萬(wàn)分感謝!】

直接通過(guò)解題的方式進(jìn)行學(xué)習(xí),代入感更強(qiáng)

1. 題目

用經(jīng)典四階龍格庫(kù)塔方法對(duì)初值問(wèn)題,步長(zhǎng)分別取求解,觀察穩(wěn)定區(qū)間的作用。

2. 算法原理

某些常微分方程有解析解,但大多數(shù)都沒(méi)有,因此需要進(jìn)行數(shù)值解計(jì)算。

龍格—庫(kù)塔法是利用f(x,y)在某些特殊點(diǎn)上的函數(shù)值的線性組合,來(lái)估算高階單步法的平均斜率。

經(jīng)典的龍格—庫(kù)塔法是四階的,也就是在中用四個(gè)點(diǎn)處的斜率來(lái)估計(jì)其平局斜率,構(gòu)成四階龍格—庫(kù)塔公式

其準(zhǔn)確解y(x)在一系列點(diǎn)xiyxi)的近似值yi的方法,yi稱為數(shù)值解。經(jīng)典的四階龍格庫(kù)塔法方程如下:

其中:

其中的各個(gè)參數(shù)具體如下:

其整合之后為:

其中h為步長(zhǎng)。

3. 代碼

clear; clc;for step = [0.1, 0.2]x_0 = 0;y_0 = 1;num = floor(1/step);n = 1;X_output = [0];Y_output = [1];disp("y'= -20 * y")while n <= numx_1 = x_0 + step;K_1 = step * fun(x_0,y_0);K_2 = step * fun(x_0 + step/2, y_0 + K_1/2);K_3 = step * fun(x_0 + step/2, y_0 + K_2/2);K_4 = step * fun(x_0 + step, y_0 + K_3);y_1 = y_0 + (K_1 + 2 * K_2 + 2 * K_3 + K_4) / 6 ;X_output = [X_output x_1];Y_output = [Y_output y_1];x_0 = x_1;y_0 = y_1;n = n + 1;endfigure()plot(X_output,Y_output)xlabel('x')ylabel('y')title(['Runge-Kutta4階,步長(zhǎng)為:', num2str(step)])X_outputY_outputclear X_output Y_output end[x,y] = ode45('fun', [0:1], 1); figure() plot(x,y) xlabel('x') ylabel('y') title('自帶函數(shù)求解結(jié)果')function dy = fun(x, y) dy = - 20*y; end

4. 結(jié)果

4.1 運(yùn)行結(jié)果

Step = 0.1 時(shí)X_output = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000Y_output = 1.0000 0.3333 0.1111 0.0370 0.0123 0.0041 0.0014 0.0005 0.0002 0.0001 0.0000Step = 0.2時(shí) X_output = 0 0.2000 0.4000 0.6000 0.8000 1.0000Y_output = 1 5 25 125 625 3125

?

?

4.2 結(jié)果分析

用經(jīng)典四階龍格庫(kù)塔方法求解,其求解結(jié)果與設(shè)置得步長(zhǎng)有很大的相關(guān)性,步長(zhǎng)設(shè)置合適時(shí),其求解情況與真實(shí)值基本一致,趨于穩(wěn)定。但步長(zhǎng)加大時(shí),其求解值與真實(shí)值相差太大。

???????【若覺(jué)文章質(zhì)量良好且有用,請(qǐng)別忘了點(diǎn)贊收藏加關(guān)注,這將是我繼續(xù)分享的動(dòng)力,萬(wàn)分感謝!】

總結(jié)

以上是生活随笔為你收集整理的Matlab之四阶龙格—库塔法方法:解常微分初值问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。