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

MATLAB使用自定义的欧拉法求解常微分方程组

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 House 于 2020-3-10 17:43 编辑 0 C. @) k2 ]0 i" E: W

) M7 ~( ?% ^2 b5 e* |MATLAB使用自定义的欧拉法求解常微分方程组
) H/ p# }' X4 W( O8 S1 I6 a0 H9 j8 l0 G4 Y( m

, [3 |. x' [3 w! E1 I4 Y1 H7 n* `! E2 ~; ?1 x1 Z
function F=f(t,Y)
2 T; I$ k" a0 f. a, B+ E7 W; M/ D. ~% 定义待求的微分方程组" L4 F1 h% ]7 t1 @7 B
x=Y(1);/ ^) K" N9 s1 ~6 w
y=Y(2);( m7 e. A( y4 K1 P/ y4 Y
f1=3*y;
+ d& {) U1 f7 T1 }9 F+ ?& Jf2=(1-x^2)*y-x;
$ z$ g6 k- Z. d4 D" H! CF=[f1;f2];- C9 E+ Q1 A/ d- U8 j) M  K
end
2 J% T: \$ J  Y
* x- m; ^2 Z  J( x5 I, k4 h' I3 t
  e3 p+ O% S+ X9 ?% {6 m%% 定义计算的步长, 设置变量的初始值
9 h# X9 I) g3 e2 X# |5 I+ Aclear;clc;close all
  N8 u) j1 g: y6 Z, q( xDelta=0.001;      % 定义步长
5 X* N$ |6 |' i) zt=0: Delta :20;     % 定义自变量 t
8 f  Y  z* G# l: ^& `+ x8 v$ U( gn=length(t);# N6 H6 z9 X0 \
Y(:,1)=[2;0];     % 定义 x y 的初始值
! n. n3 j( g" L) w7 F) W
: g( `1 g6 t8 a2 e%% 自定义欧拉法, 求解微分方程组
- ]- r+ J3 [" X* v, Tfor k=1:n-1
4 O, J) p4 P. H# z  C    Y(:,k+1)=Y(:,k)+Delta*f(t(k),Y(:,k));& f3 C. M3 p% R+ w; X9 b
end: h" E* U) v& e
x=Y(1,: );
$ ~5 u, c2 y( `, n9 r5 a9 `y=Y(2,: );/ d8 Y0 n- W4 y, Q7 h" ~! a

6 U7 {& r( `6 j) H5 U%% 绘制 x y 的求解结果
, n, q2 o' r! q8 Efigure
* w$ a% z* x- w  O- V6 p; Dset(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]);  % 设置 figure 窗口的位置和尺寸( T/ {' c7 ]- n0 P2 r4 j
subplot(1,2,1)3 G& g- s$ @: }% y+ L& e/ B
plot(t,x,'b')3 |* {! ]2 g0 p9 ^4 o
xlabel('t'): e2 @( F' I# Z1 D& E
ylabel('x')+ R% `  r  y- o3 D/ a  d
1 n6 U$ ]8 H" ~8 ?6 y  r" h( z
subplot(1,2,2)
  q& n1 m5 B7 F5 A* f, kplot(t,y,'r')2 K5 J0 V9 t8 E3 ]
xlabel('t')
% m6 ]5 i: z* Rylabel('y')
1 }# Y4 A8 ?6 A  r/ C( {, B' U
! w9 Z) u- r1 W& E  r5 \
" U: P5 j) I/ t0 u# O9 D& |1 U1 h" H3 I0 j) [. G

该用户从未签到

2#
发表于 2020-3-10 17:43 | 只看该作者
谢谢楼主分享的代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-23 03:10 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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