QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-31 17:55 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段 MATLAB 代码实现了使用二阶和四阶的泰勒展开法(Taylor's method)来数值求解常微分方程初值问题,并将结果与精确解进行比较。以下是代码的主要解释:
* ?/ Z0 C* q+ R0 Pfunction y = Taylor(a, b, N, af)
2 O/ q" X0 @5 B4 W    h = (b - a) / N;5 S- Z9 E  F- J6 v; D0 \6 b" X7 j
    x(1) = a;1 S6 ?0 O% N: s( p
    y2(1) = af;
$ y& ?, ~4 g) Y. b; e    y4(1) = af;. j5 @5 I0 `* B+ Y& l
    jqj(1) = af;- I4 v. O- S- A; w

: d! c! }  }0 q4 Y* W, f    for i = 2:N+ r) S+ Z5 l5 S# \- a5 v* J2 r0 i
        % 二阶Taylor法3 w' f. U. ?# x6 U  b* J
        y2(i) = y2(i-1) + h * ((1 - h/2) * (x(i-1) - y2(i-1)) + 1);
2 G2 f/ n4 |1 @
9 ^, E- k. z! ?  h$ b        % 四阶Taylor法6 J* ~9 F3 W# E# ^7 S
        y4(i) = y4(i-1) + h * ((1 - h/2 + h^2/6 - h^3/24) * (x(i-1) - y4(i-1)) + 1);
) Y0 ~; x) i# J, h+ A, s3 A6 `7 }" K* o
        x(i) = a + (i-1) * h;7 l* F* C' ^' M4 C9 m
        jqj(i) = x(i) + exp(-x(i));$ @* h7 z0 o4 [& |' P
    end9 V! D3 X7 L1 E( R: j: X$ P2 E, T

$ P" Y, [0 m1 G' P' I0 q  X    % 将结果输出为矩阵形式
& l) _: v: u3 ~% r2 M+ M2 c    result = [x', y2', y4', jqj'];
  h. j- A1 R8 z; C
' _0 T' [' U8 Z# t2 W    % 绘制曲线0 Z) s- U* i. z' M8 x
    plot(x, y2, 'r', x, y4, 'b', x, jqj, 'g');
) W. X( U# c+ c- g$ ^    legend('Taylor2法', 'Taylor4法', '精确解');
. D" x8 d' @4 G! o6 t' gend
7 @: Y& i/ U1 ^5 y+ ]) \2 ~! K; D: q) ^! l3 \3 i' X
该函数的输入参数包括求解区间 [a, b]、步数 N 以及初始条件 af。函数使用二阶和四阶的泰勒展开法来逐步求解微分方程。最后,结果以矩阵形式输出,并绘制了二阶Taylor法、四阶Taylor法和精确解的曲线。  ?5 m' o( @% x/ H7 x+ c4 n
你可以调用这个函数,例如 Taylor(0, 1, 100, 1),其中参数表示解在区间 [0, 1] 上,步数为 100,初始条件为 1。. V# z/ R8 b4 H' z$ [
$ |  Z: W9 Q- c; n
7 u; x) s8 ?1 [& f* }
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-4-11 03:46 , Processed in 2.463392 second(s), 50 queries .

回顶部