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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 House 于 2020-3-12 18:11 编辑
! h/ \/ a0 B/ r0 V7 b2 |- M* _0 h$ q5 C( w/ @
MATLAB源程序代码分享:MATLAB实现四阶龙格库塔法求解常微分方程组' {- @/ ~% h0 y: r* J4 W3 ?8 B' q. B/ R
function F=f(t,Y)
& ]& R+ {8 k8 U5 k% 定义待求的微分方程组8 K/ R' E* e: w0 P8 q
x=Y(1);
8 N% X0 C) |* |* t8 Wy=Y(2);0 L% m3 b/ u) J! _
f1=-x^2*(5-y);6 p% @& Q& l; P1 [" F5 q4 E
f2=y*(4-3*x);
: Y8 s" r7 N0 aF=[f1;f2];
, _: N6 U: m6 v; A* s- nend
: y/ H" u# ^2 d5 |, H, \8 V
: m: k0 B3 z5 B7 p7 Y0 Y2 ]) o7 p: w8 {6 H  i- g

) m* G+ l) u$ _: y1 f, ^4 w) M1 y% \, K4 [
%% 定义计算的步长, 设置变量的初始值, W/ n5 P( S# M  F# F+ F8 X
clear;clc;close all, T2 ~# |  q! G- i0 M! a% ~6 H
Delta=0.001;     % 步长, T/ p0 Z+ c! Z8 [! \: x
t=0: Delta :8;     % 定义自变量 t# S' k7 q+ H% V+ \9 \
n=length(t); 6 p# _( _! c; O8 R, _: J# ^% l
Y(:,1)=[0.5;3];  % 变量 x y 的初始值
3 r8 Q8 v- H* X$ A9 w5 H3 `& j/ v% i* [
%% 自定义龙格库塔法, 求解微分方程组
( L( e+ X4 I) C; e' W/ a0 K9 Wfor k=1: n-1
  m: @9 F* {6 h2 ?. N1 z    z1=f(t(k),Y(:,k));
+ O; r/ D+ Q2 _$ j5 ?# Y3 q2 h    z2=f(t(k)+Delta/2,Y(:,k)+z1*Delta/2);0 {6 o  k' a) {3 T
    z3=f(t(k)+Delta/2,Y(:,k)+z2*Delta/2);
& N: D% x1 |! g) }7 i9 j6 Q    z4=f(t(k)+Delta,Y(:,k)+z3*Delta);
9 f; ]3 X4 ^" f: H    Y(:,k+1)=Y(:,k)+Delta*(z1+2*z2+2*z3+z4)/6;
) e; ?9 M  z  Pend& u8 m9 _, \# @! v
x=Y(1,: );
1 t5 h" [* J, X# z& @y=Y(2,: );
8 I& {! J! j8 `
$ k1 b, s* c5 b: `, f% }%% 绘制 x y 的求解结果
$ a& A0 c* V! @  m% M2 K9 v1 P2 mfigure6 c: m1 c9 H) }* a) f% j  p
set(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸* H  p2 X( p0 v$ l
subplot(1,2,1)/ q1 p- f) L: ~) Y5 z
plot(t,x,'b')$ v" W( ~. @5 k; R
xlabel('t')
  D' k6 y5 T" e  I+ p* Uylabel('x'), o& W7 p) E  {' z" B- p2 w
) A: C! H! g2 d! L
subplot(1,2,2)5 \7 S, G# R" i: L
plot(t,y,'r')' c3 }; V0 R! @# z7 c" M2 _
xlabel('t')
0 U( S0 p" P5 tylabel('y')( P9 f5 g9 }( e% ]! K
# Q( D5 ]) i3 i% K: }3 ?4 A( ^

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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