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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 House 于 2020-3-12 18:11 编辑
" R: R/ h& s' ~  p; h1 B& _  ~$ G
6 X% R% Y3 E: w% R5 t- U+ dMATLAB源程序代码分享:MATLAB实现四阶龙格库塔法求解常微分方程组2 r* `* K# M+ _
function F=f(t,Y)
. a! i4 g! u. Z* r$ `; L  y, x8 u( D% 定义待求的微分方程组
2 b. g$ s3 H$ i( w1 X" Z1 Bx=Y(1);( S+ K8 c+ \1 |# x1 s* t, J
y=Y(2);
: p; ]; _, k" Y& v0 [5 L) b3 Ef1=-x^2*(5-y);
$ u- K* k0 x. `, b3 Kf2=y*(4-3*x);
, h: H( q3 X' Y% X! j1 HF=[f1;f2];2 ]: B& i2 a9 o5 }
end
! h- Z/ r' g( @. ~
7 s* K0 a+ ~1 v* W3 z- |8 p% u* N% l; d4 B! b" L. H# o
/ g$ \6 c9 L: t- Y8 W* t
* q, ~1 y! @4 k# B- f( L9 A; u
%% 定义计算的步长, 设置变量的初始值
" a8 V. N1 r, z2 yclear;clc;close all7 F9 j" c% M, h" {$ y  P
Delta=0.001;     % 步长0 p5 Z& Y+ Q1 {/ e+ E% n' G
t=0: Delta :8;     % 定义自变量 t
% B6 q- i3 l( F$ Q1 _0 x1 vn=length(t);
. f" [" o, r1 g' h2 S6 L) hY(:,1)=[0.5;3];  % 变量 x y 的初始值; e- L# m$ c5 I. P/ @( g9 G
/ S# q7 L0 q# K* R) j5 D
%% 自定义龙格库塔法, 求解微分方程组
# C+ i7 W# n# p1 K% L( \- |for k=1: n-1
) }+ b3 J: K) p, l    z1=f(t(k),Y(:,k));
6 T/ ?4 O  J1 W5 s# Q( g    z2=f(t(k)+Delta/2,Y(:,k)+z1*Delta/2);: p3 N. h6 z& ?4 z  o
    z3=f(t(k)+Delta/2,Y(:,k)+z2*Delta/2);
9 z+ t) G4 x; X    z4=f(t(k)+Delta,Y(:,k)+z3*Delta);
& y3 A- k- N8 _0 S    Y(:,k+1)=Y(:,k)+Delta*(z1+2*z2+2*z3+z4)/6;* h8 a% N; P+ W- U
end/ S0 C# b7 m* B
x=Y(1,: );
+ C1 O7 s: L. p& [. `, @# e. `y=Y(2,: );
4 p3 T6 N3 F3 D0 I& Z
, O8 C3 `( t1 x! O%% 绘制 x y 的求解结果+ E' z, b: d8 A1 [
figure# ~  D- P7 Q) E" W' |
set(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸
9 L6 v# o7 j9 _: j. \subplot(1,2,1)3 \4 D, a6 y( O
plot(t,x,'b')
4 M4 o$ r4 }  n7 }7 wxlabel('t')
' |, m" K# R' O" \% Tylabel('x')% ]$ r/ p/ V# Q$ r* p8 J
/ j: G/ H) n/ @2 q
subplot(1,2,2)
# M) z: P8 L4 ]- K& n5 bplot(t,y,'r')  Q: Y2 i! i0 ]+ }& m* i5 s
xlabel('t')
$ B+ q# q- d) j+ ?7 u. Sylabel('y')
- L. l. A5 p* N9 d  ~6 X& _8 Y, \0 p+ X. }9 F( F5 ]# [; {6 B

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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