找回密码
 注册
关于网站域名变更的通知
查看: 377|回复: 1
打印 上一主题 下一主题

MATLAB源程序代码分享:MATLAB实现四阶龙格库塔法求解常微分方程组

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-12 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 House 于 2020-3-12 18:11 编辑
0 p% T7 D* `, c# T% @% e6 P$ G* n8 l" w9 d' C4 {; }6 K6 @
MATLAB源程序代码分享:MATLAB实现四阶龙格库塔法求解常微分方程组. \+ s. g1 n9 s: O
function F=f(t,Y)
! w* o' C) k1 x  O! r" ~! o# t% 定义待求的微分方程组
$ S2 D* I9 ~0 \) t, M3 H4 Ex=Y(1);! O' r6 G+ ~3 b1 P' s# @* f$ v4 k
y=Y(2);) O: h' P- w" Q
f1=-x^2*(5-y);8 i: X% P9 g, L  }- ?+ a
f2=y*(4-3*x);
& h4 N* k( d) U& p* }F=[f1;f2];
; a) X/ L8 t# wend
4 @  P7 D3 H' m6 E! ~; r. _& H6 `+ r: ~' Q$ f/ k# B7 i
+ {6 b' O2 v' J% q3 d# N. r# r/ w

7 C2 p9 e) @7 ^. c8 @6 p9 S1 H$ {- F, @6 N
%% 定义计算的步长, 设置变量的初始值
1 Z' Q6 c6 u( u6 A) j3 a& n" o7 ]clear;clc;close all
, J  C% ?/ Z1 qDelta=0.001;     % 步长6 i: O# T0 ?% N5 h
t=0: Delta :8;     % 定义自变量 t* G1 `! l+ ]$ L' Y5 G3 W
n=length(t); 9 Z6 n5 s! X% U9 ^$ w0 O
Y(:,1)=[0.5;3];  % 变量 x y 的初始值) [3 m  q: |( k8 L* J/ r: b4 B
; R' z& j0 C/ {
%% 自定义龙格库塔法, 求解微分方程组& _9 E  c3 [. N5 z* \
for k=1: n-1
- u! z& q( r, Y    z1=f(t(k),Y(:,k));
* I0 I% G7 I  `5 Q' c( t: r  B    z2=f(t(k)+Delta/2,Y(:,k)+z1*Delta/2);
  s+ S  G$ [4 F. B    z3=f(t(k)+Delta/2,Y(:,k)+z2*Delta/2);
% m( h4 _" V/ m- }; K. S    z4=f(t(k)+Delta,Y(:,k)+z3*Delta);- q# t) Z& x0 A) \$ p1 j- |
    Y(:,k+1)=Y(:,k)+Delta*(z1+2*z2+2*z3+z4)/6;
4 r/ W- `) l1 f3 @, uend
& Z1 l3 p/ ~" Y- P& E' Px=Y(1,: );9 x! O- Z9 ?) w3 g$ |" V" D
y=Y(2,: );7 W% j3 x/ g! {0 I, @9 l) n

- h2 @6 Z1 z! v( |& y. `, K; n%% 绘制 x y 的求解结果
$ t# P$ B3 p" j; H; M0 _6 X. T' Vfigure
- |* H- `! N8 n1 @. _$ _% Uset(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸+ E7 v+ u. Y# X9 s$ o/ c
subplot(1,2,1). i" t4 h) y" j6 h
plot(t,x,'b')' _: r2 U3 J6 P( j* E9 J( S$ t- V
xlabel('t')
/ P# T+ x# |+ hylabel('x')
5 H! @* r. J3 k2 X" O/ m* M8 {9 E; v2 Y3 R9 ?8 y1 \9 O
subplot(1,2,2)0 l9 H# @- G' w
plot(t,y,'r')8 P9 s3 O7 p2 M& ]& _
xlabel('t')
7 |0 ]6 [7 i: o$ @3 N9 qylabel('y')
( V5 O1 Q. h! E8 j1 P- }
! x1 z7 z7 T7 a) z/ J7 y+ D% X6 X( D0 w+ w

该用户从未签到

2#
发表于 2020-3-12 18:11 | 只看该作者
MATLAB实现四阶龙格库塔法求解常微分方程组
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 05:31 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表