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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 House 于 2020-3-12 18:11 编辑
/ e( g) G# ~0 `% J, f
' M% F8 ]! v- A8 QMATLAB源程序代码分享:MATLAB实现四阶龙格库塔法求解常微分方程组
5 t/ B, z* t1 y( r( R, e& G$ Cfunction F=f(t,Y)3 s7 B% A7 w$ v3 {' V8 R
% 定义待求的微分方程组* Q# E' n& E! S5 T& _- ^/ B2 i
x=Y(1);# ^6 n& y+ O+ O" h
y=Y(2);
1 T+ X' @( X$ |# l( r' bf1=-x^2*(5-y);
8 ~" k1 {+ ?& Zf2=y*(4-3*x);. s, z" s% C- e! x7 T0 x# N
F=[f1;f2];/ \1 O3 L& Q2 F8 U
end
$ V8 l5 F( d. u& v4 ]  f
: o4 x9 g8 r/ H! P* C9 A0 ?3 A! F6 I" g9 J$ }! U: }  R  j+ m

' p4 _' x1 J- ]+ i. s# u% A
' V: U8 |0 W' \& \. d6 s3 t5 M%% 定义计算的步长, 设置变量的初始值
8 T! h9 q8 t- Z1 Aclear;clc;close all
: ?; _4 B, Y8 E0 zDelta=0.001;     % 步长
/ }5 I/ M$ t. H( S# l& z% j" m3 G1 K3 |t=0: Delta :8;     % 定义自变量 t
0 Y# ~2 J4 s/ i! t! w1 Z5 ~n=length(t);
# B' a. W4 D! {, ]$ \Y(:,1)=[0.5;3];  % 变量 x y 的初始值. e" n. b; A3 `# E7 d: H+ I4 y2 w
2 n( a4 ?# _; t; U
%% 自定义龙格库塔法, 求解微分方程组
& k4 X; W- Y* p3 d0 C8 G7 Mfor k=1: n-14 a$ y1 R$ k* g0 V  w/ U, _
    z1=f(t(k),Y(:,k));, D% E  F# G3 f  B$ a2 B( v
    z2=f(t(k)+Delta/2,Y(:,k)+z1*Delta/2);
/ v* d- u2 M# l0 B( {    z3=f(t(k)+Delta/2,Y(:,k)+z2*Delta/2);
4 R% m/ ]) A1 ]: P+ y    z4=f(t(k)+Delta,Y(:,k)+z3*Delta);
  F% Y, t9 w6 |: a    Y(:,k+1)=Y(:,k)+Delta*(z1+2*z2+2*z3+z4)/6;
1 O% @* c+ b4 L% @, |- Xend
- u* k$ I! D1 C$ wx=Y(1,: );
) R' f  R! x; Z  n9 @- Y0 e+ gy=Y(2,: );
" W+ _3 i8 ^4 ]; N/ |( j, P' V1 h6 h: s0 z$ P$ }
%% 绘制 x y 的求解结果
& ~" Q' \3 n3 _figure
& H! t( p3 `; R  sset(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸" F4 i# u# }2 N4 W) l* [2 L! j! m- _
subplot(1,2,1)
3 _* ?3 F/ A% }; r- kplot(t,x,'b')
2 M) f+ ^8 P7 t$ j' i/ v; \xlabel('t')! H7 ^  l. I) n/ B6 o
ylabel('x')2 }+ [# U/ N4 O. U3 q. o2 ]
% l9 I' o0 I9 g( b
subplot(1,2,2)! \/ _# G) j* G+ q; V& B( E
plot(t,y,'r')  ?3 F! F: T! x
xlabel('t')- e# i0 ~, v1 ^: ~2 |: Y$ Y' B* h
ylabel('y')
, I: \' d" {% R
6 Z, M" M( r" K0 i

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:05 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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