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

MATLAB源程序代码分享:MATLAB实现改进的欧拉法求解常微分方程组

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
MATLAB源程序代码分享:MATLAB实现改进的欧拉法求解常微分方程组: m) s; o8 D% `6 v- L% f$ @* B  y
function F=f(t,Y)
$ D* F6 l4 |1 W' Y* c: L% 定义待求的微分方程组
6 k7 ]3 U+ m+ K8 v; Yx=Y(1);$ q" N6 m1 l0 P" C7 I2 i2 u
y=Y(2);
3 N2 g! D# ^6 k) Q5 sf1=3*y;: I7 c* [/ ]- o
f2=(1-x^2)*y-x;
. O4 c" ~7 C. V& rF=[f1;f2];: F) d7 c! z: t& S8 y. e
end% g7 v0 V* {7 H. Q0 P; w8 w

/ C7 L8 D6 P4 I3 m! [9 C, I/ B
- G; ?5 [& ]" x% F4 b4 H%% 定义计算的步长, 设置变量的初始值
& s3 n$ j: N  Eclear;clc;close all
0 H! U7 |: Y- U+ i  y4 N/ JDelta=0.001;      % 定义步长
% k) r* |& J! `" |2 ]6 I  [2 |+ J* y2 ot=0: Delta:20;     % 定义自变量 t
# ^* n0 B+ O0 z( Y7 Ln=length(t);, U* E% [# _3 w8 O
Y(:,1)=[2;0];     % 定义 x y 的初始值) w$ j3 f+ A# @, I6 A0 `5 S

$ a# A# {9 y( T%% 自定义改进的欧拉法, 求解微分方程组: h0 {: ^! r- y: P2 T9 {
for k=1:n-1
/ c; l, m$ Y* n) A0 }    F1=f(t(k),Y( :,k));
& Z0 ~0 M, S& \  }' d* Y% X    F2=f(t(k+1),Y( :,k)+Delta*f(t(k),Y( :,k)));
8 W4 c+ i! ?+ L    Y(:,k+1)=Y( :,k)+Delta*(F1+F2)/2;
3 w6 }# r. J$ I; ^9 |' Rend
5 s' l6 ]; U9 P. ^' D5 Sx=Y(1,: );
: F! a, P/ C  A3 Cy=Y(2,: );
7 ^' Z+ u6 `: ^, Z0 k0 r" e) n4 f- p
' {9 k/ X& O! ?) n# e. P. h%% 绘制 x y 的求解结果
+ r. l" i' n  X# W1 E3 _9 Wfigure& U+ d, a" B, p( X
set(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸$ r3 b" p" |' B7 _
subplot(1,2,1)5 T' {. D5 g2 A( {2 L
plot(t,x,'b')
4 F# C1 N0 i4 D6 L$ Fxlabel('t')$ I; J. P5 D% R7 b. p
ylabel('x')3 |/ S8 Y9 x% n% `+ J7 e) d; p

0 i4 J" B# c& e( [6 [9 rsubplot(1,2,2)/ t3 N, v5 e( X8 a
plot(t,y,'r')
0 i6 f: e7 U- o; o0 k: Ixlabel('t')
8 n& e1 Q/ j. c. L, i3 `ylabel('y')
- r' J1 q9 n: ^  k; D4 N; p( s/ B# R& h# y  M

该用户从未签到

2#
发表于 2020-3-17 17:41 | 只看该作者
MATLAB源程序代码分享:MATLAB实现改进的欧拉法求解常微分方程组。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-4 12:44 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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