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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 House 于 2020-3-12 18:11 编辑 8 n7 |% g' y+ @# B
" q" z) }% [+ P( N
MATLAB源程序代码分享:MATLAB实现四阶龙格库塔法求解常微分方程组
& v" R! r2 C& M3 wfunction F=f(t,Y)) K5 A. U( w& [' Q& ?
% 定义待求的微分方程组: r3 {% Y3 F* y/ z2 [
x=Y(1);
9 h  e; a: y) ~  ]y=Y(2);" f# }' q  x. ^
f1=-x^2*(5-y);
$ e' ]4 Y2 q1 ^0 D2 T* wf2=y*(4-3*x);4 }4 w5 A$ f. b0 T/ f2 \( S" y( X  u3 C
F=[f1;f2];
& u" o1 K- J+ I- [" C+ J" S1 a( Yend
* ^2 q6 p  Z' m+ n1 c
8 c  k3 S8 h3 i  W; N; A
0 W! o; R5 B/ t( @' l) }% J$ t' d3 K8 a0 g

1 o2 r9 s; E1 N# f/ ~, |* X6 W%% 定义计算的步长, 设置变量的初始值7 S- i% w: B. l' K$ |- p' n& ?
clear;clc;close all: z3 B% g+ h+ Q9 P  F) L
Delta=0.001;     % 步长
2 l& l  l0 m( a, `; g& At=0: Delta :8;     % 定义自变量 t
! r5 E$ m4 v' p7 e! [% q) O/ ]# }n=length(t); $ s0 T4 X, F3 u8 W. z. ?
Y(:,1)=[0.5;3];  % 变量 x y 的初始值4 q; D5 k: j" |- J) x1 y5 R" g

3 H( x0 F( r! L. f8 M%% 自定义龙格库塔法, 求解微分方程组
- ^. k* l7 v0 y6 H/ {+ S+ Sfor k=1: n-16 x% z& E1 t$ v4 }+ n, o" Q
    z1=f(t(k),Y(:,k));
5 s0 h9 U! E9 s( S8 N7 D    z2=f(t(k)+Delta/2,Y(:,k)+z1*Delta/2);) u# r$ k" J9 K- w2 I
    z3=f(t(k)+Delta/2,Y(:,k)+z2*Delta/2);: g1 Q' t  k& n5 J
    z4=f(t(k)+Delta,Y(:,k)+z3*Delta);
9 X, I+ z, k( O  J( l    Y(:,k+1)=Y(:,k)+Delta*(z1+2*z2+2*z3+z4)/6;6 R) V7 E2 E) K7 L
end
) I1 w& V1 o' {3 c- g) R3 }! Cx=Y(1,: );; W. F( u! @  `; B% ^. c
y=Y(2,: );
$ ^8 Y: L( J5 j( ]6 W  @
' l5 z3 p' z. a% g  X5 t8 l4 r7 ?%% 绘制 x y 的求解结果
- L) v+ Z2 ?+ o$ A3 Rfigure
7 R! {- ]+ h& o4 P- Bset(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸. G) c/ D/ W. _" M* Z# E
subplot(1,2,1)+ r8 e; o/ g% p" p! P0 f  I
plot(t,x,'b')
) i0 @9 c) H. J+ n0 Pxlabel('t')4 b7 E: W5 v: ?. a; i3 [3 }
ylabel('x')( r; S& S3 u3 r! J6 `- X* S; e8 z
% U- {7 ^5 N' f# I7 K  B
subplot(1,2,2)
/ B/ W1 b9 J1 y5 F9 eplot(t,y,'r')
2 S5 R' C" _3 k6 D, y5 s/ \% \xlabel('t')
2 Q0 X0 c1 L* C6 k0 G8 d, Jylabel('y')0 z+ \7 V, D  A

, M) B9 n* i; P6 q8 e: Q

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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