QQ登录

只需要一步,快速开始

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

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

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-31 17:55 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段 MATLAB 代码实现了使用二阶和四阶的泰勒展开法(Taylor's method)来数值求解常微分方程初值问题,并将结果与精确解进行比较。以下是代码的主要解释:4 n6 ]/ A) Q/ l* t8 f4 P
function y = Taylor(a, b, N, af)5 U  D3 H8 ]) _/ G+ O; d
    h = (b - a) / N;
; V& m% z# O7 K' }    x(1) = a;
" ^1 y' b: Y% }8 @% n    y2(1) = af;
5 ~! _5 u1 h8 Y1 w    y4(1) = af;
( l3 i' ?9 }; k    jqj(1) = af;
" T& b; ?& d1 u8 c2 R( b
% N( }+ J' Q! j    for i = 2:N
1 W# k/ x( c/ L0 L2 m: N  _        % 二阶Taylor法  X) g# o5 p) \
        y2(i) = y2(i-1) + h * ((1 - h/2) * (x(i-1) - y2(i-1)) + 1);
- c0 D7 n% E$ Z$ f# d8 s. K" m+ H* ]4 _
        % 四阶Taylor法
" L6 t3 x; `# J: h; L! T+ C" F        y4(i) = y4(i-1) + h * ((1 - h/2 + h^2/6 - h^3/24) * (x(i-1) - y4(i-1)) + 1);
  K. ~" ]8 Y9 f) `
4 }4 Z6 X3 k, r6 e" W6 p! \& Q        x(i) = a + (i-1) * h;# I7 B% B- U7 O! i5 Q, p
        jqj(i) = x(i) + exp(-x(i));
( K* E. p% D$ h* c: W    end
4 H3 f# {& v, ^  h& v! H. R
2 }5 y3 S% f  C, }; i    % 将结果输出为矩阵形式% @: a+ V, V6 o1 c! q& M
    result = [x', y2', y4', jqj'];
/ m0 R( \# ?. z$ E! F+ l* |. h  q$ B/ t: M% d" i+ x+ n
    % 绘制曲线' {7 f; {. N4 g! z7 b
    plot(x, y2, 'r', x, y4, 'b', x, jqj, 'g');
% m4 q' X2 E: n  Y1 R    legend('Taylor2法', 'Taylor4法', '精确解');  ~* f" ?2 f! \8 E& q0 c) q
end
3 z# J+ _" R( A5 V; @0 o) J5 M1 E* A4 u" a3 b9 ]
该函数的输入参数包括求解区间 [a, b]、步数 N 以及初始条件 af。函数使用二阶和四阶的泰勒展开法来逐步求解微分方程。最后,结果以矩阵形式输出,并绘制了二阶Taylor法、四阶Taylor法和精确解的曲线。
+ r6 T9 F: }& x9 |3 J你可以调用这个函数,例如 Taylor(0, 1, 100, 1),其中参数表示解在区间 [0, 1] 上,步数为 100,初始条件为 1。! G# q/ q& e% Y, F! @

. {/ ]8 g: z. E6 F' R# _" R- q- v# \: o) F# e
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-8-26 07:52 , Processed in 0.515021 second(s), 51 queries .

回顶部