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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
MATLAB源程序代码分享:MATLAB实现改进的欧拉法求解常微分方程组/ ~2 |, }1 m& f7 E
function F=f(t,Y)
1 D. p8 b/ J- E6 {8 H% 定义待求的微分方程组* H6 C( c5 J. E& H( [7 y0 b
x=Y(1);
7 b8 r7 J9 }# z0 d% M) |y=Y(2);) M$ Y" k" ~# M4 t
f1=3*y;2 R% t* g  S: ^) F8 N) ]
f2=(1-x^2)*y-x;
/ D* x7 R) V' F) s$ v3 MF=[f1;f2];
- T: ]! h$ R* T( P2 Oend5 F5 k  ^" j( y8 Q) n$ i

! r  f6 z3 g9 N4 M  Q) f- ]4 F) _2 P) s. V0 d1 ~
%% 定义计算的步长, 设置变量的初始值9 \1 I- R7 T/ ^; N" K5 b; ?
clear;clc;close all0 F/ w( p7 a/ x5 O/ w$ L# a
Delta=0.001;      % 定义步长
9 u. P) ^/ D: `4 [5 z2 q: G3 dt=0: Delta:20;     % 定义自变量 t$ Y& Q7 w% M6 U2 J8 K
n=length(t);% q8 D7 S- ?  N& C7 V2 O/ ]
Y(:,1)=[2;0];     % 定义 x y 的初始值
7 X% f! L, O3 Q; L6 M
- R9 S! k  H' h- \%% 自定义改进的欧拉法, 求解微分方程组
) E' m9 E! u( vfor k=1:n-11 t% ~7 b% A5 F! m
    F1=f(t(k),Y( :,k));
3 A. Z; W( _3 |    F2=f(t(k+1),Y( :,k)+Delta*f(t(k),Y( :,k)));3 d8 h$ a; D7 i
    Y(:,k+1)=Y( :,k)+Delta*(F1+F2)/2;: ^3 G- b& z8 P* O
end
- m8 Y6 ]( P' I! Tx=Y(1,: );8 Q' Q; {0 j3 |
y=Y(2,: );
( j+ X* a# d9 H2 k, _# O. B: o3 U* @
%% 绘制 x y 的求解结果
* @6 `* O& y- ~, e9 N1 hfigure
! V6 L4 Z5 P$ j: }) R  D, f& nset(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸: N3 p# v$ [. n: A( O/ g
subplot(1,2,1)6 t0 U* E: \: I" N+ F5 E
plot(t,x,'b')1 \' r4 ]& N8 D4 G2 E1 l
xlabel('t')
9 L, q; ^' X: h6 m# ~9 t- h. J% oylabel('x'), T7 Q5 @' p. E$ Y
2 |/ P% B  t# n) a* a2 K/ J6 o
subplot(1,2,2)" n6 W* E4 C# d- n
plot(t,y,'r')
; R1 ~1 P2 E" H+ D# w& S4 t# Dxlabel('t')
; h# Q) U6 l+ w; h" l) h: v# m) Lylabel('y')2 @' H/ b7 z, d9 ?- {

+ R$ L: ^4 [1 }7 }& N0 Q

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-16 17:55 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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