QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3075|回复: 0
打印 上一主题 下一主题

二阶和四阶的泰勒展开法(Taylor's method)来数值求解常微分方程初值问题

[复制链接]
字体大小: 正常 放大

1188

主题

4

听众

2931

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-31 17:55 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段 MATLAB 代码实现了使用二阶和四阶的泰勒展开法(Taylor's method)来数值求解常微分方程初值问题,并将结果与精确解进行比较。以下是代码的主要解释:
: {9 f1 ~2 Q8 B0 O$ N$ b+ cfunction y = Taylor(a, b, N, af)% A% P! `; _* i8 V  C
    h = (b - a) / N;5 l  L+ b8 k% o' f
    x(1) = a;
/ [) }, N: \. J    y2(1) = af;$ `6 m7 ?1 l) j  M
    y4(1) = af;+ Y" V- b3 X8 D& z# ?( }7 m, I8 i
    jqj(1) = af;
7 I+ Q, A1 Z0 V& l6 y% H$ u" t: V' |3 b% J/ E, s, D! e
    for i = 2:N
: i" w4 Q- [8 p$ a( X        % 二阶Taylor法: S9 y" e3 y9 z, j& Q6 U
        y2(i) = y2(i-1) + h * ((1 - h/2) * (x(i-1) - y2(i-1)) + 1);
9 r+ f; P  H' \8 _, x/ ^" V) ~7 u: {2 G; ~# _! O5 R
        % 四阶Taylor法
& S8 R+ }  |: w# [- K2 R        y4(i) = y4(i-1) + h * ((1 - h/2 + h^2/6 - h^3/24) * (x(i-1) - y4(i-1)) + 1);
# w) r# p4 J  z  v! q# L8 f0 C$ ?% S, W6 F, I/ D
        x(i) = a + (i-1) * h;6 Z& m+ O% ]) ?/ Z2 w
        jqj(i) = x(i) + exp(-x(i));  l# Q5 o! M" M1 Y
    end
: ?9 }; ?4 \5 Z# q% K& W; Q" L# q* Y
    % 将结果输出为矩阵形式2 E6 C, y' W! y2 b/ i4 n2 i
    result = [x', y2', y4', jqj'];
1 ~8 q7 f3 C5 ~' J9 F$ d5 r5 O$ v- ?, H, U7 t
    % 绘制曲线6 |5 [, I4 s3 ]
    plot(x, y2, 'r', x, y4, 'b', x, jqj, 'g');
" l9 X5 \& _4 d. ~2 E    legend('Taylor2法', 'Taylor4法', '精确解');
* l' X8 q; j' Y. \end! X+ Y3 A6 @/ X! d$ t

6 P; p* m4 d6 [! ]  ~& @该函数的输入参数包括求解区间 [a, b]、步数 N 以及初始条件 af。函数使用二阶和四阶的泰勒展开法来逐步求解微分方程。最后,结果以矩阵形式输出,并绘制了二阶Taylor法、四阶Taylor法和精确解的曲线。
3 |2 D1 t7 t6 z5 n你可以调用这个函数,例如 Taylor(0, 1, 100, 1),其中参数表示解在区间 [0, 1] 上,步数为 100,初始条件为 1。
3 }3 Y, i; D# F2 s9 I$ c' V
  \: O- f$ u4 k9 L: g  L' c+ ]" X9 T& @2 V
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-5-26 00:19 , Processed in 0.380506 second(s), 51 queries .

回顶部