QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-31 17:55 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段 MATLAB 代码实现了使用二阶和四阶的泰勒展开法(Taylor's method)来数值求解常微分方程初值问题,并将结果与精确解进行比较。以下是代码的主要解释:
& S# v; `$ N5 L# ]function y = Taylor(a, b, N, af)
& t8 O" @0 M! s8 H$ D4 L    h = (b - a) / N;& F' q9 u! f; ]% O- ^3 r
    x(1) = a;
% C# L" V" S3 E1 r) F; n    y2(1) = af;  @3 L9 V$ u/ I# S8 R- `
    y4(1) = af;! }% W6 q" `3 B8 m
    jqj(1) = af;4 Y  F3 ~0 `+ i! J7 L. [
( o4 c6 b* Z% V2 D& `: W( f) F
    for i = 2:N7 U% n1 ^1 l! A5 R# H! o" F
        % 二阶Taylor法
9 X8 K# n0 T, x) J/ A        y2(i) = y2(i-1) + h * ((1 - h/2) * (x(i-1) - y2(i-1)) + 1);' T6 Y' C3 T  ?- ?- E5 j
1 n  S. X8 b% B! m: _% r
        % 四阶Taylor法
$ R+ A( O& w. g, U& s/ U        y4(i) = y4(i-1) + h * ((1 - h/2 + h^2/6 - h^3/24) * (x(i-1) - y4(i-1)) + 1);
* n# h# e9 ]1 h0 e# E
2 q- ]2 A/ y5 {" m3 R# L; m        x(i) = a + (i-1) * h;
. a& w9 D) R% a/ B" @! F        jqj(i) = x(i) + exp(-x(i));
% e/ O  [$ L8 ^( b/ {6 t$ ~    end$ H& q: J; j* _9 c4 t
) I# h% l! w, N# f
    % 将结果输出为矩阵形式
" J, V; r& j% N2 {    result = [x', y2', y4', jqj'];
4 X5 k% [" ]4 x4 {; ^/ b+ m
7 c  m  K. M2 I% p$ X    % 绘制曲线
# C! j! L! q8 A# U    plot(x, y2, 'r', x, y4, 'b', x, jqj, 'g');, S( y% A9 j' C# h
    legend('Taylor2法', 'Taylor4法', '精确解');
+ i, y/ d: ^. _+ oend
0 r3 W4 Q7 e# X& r. D/ L$ z8 D2 u5 ~
该函数的输入参数包括求解区间 [a, b]、步数 N 以及初始条件 af。函数使用二阶和四阶的泰勒展开法来逐步求解微分方程。最后,结果以矩阵形式输出,并绘制了二阶Taylor法、四阶Taylor法和精确解的曲线。& M. ^, K8 Z; X
你可以调用这个函数,例如 Taylor(0, 1, 100, 1),其中参数表示解在区间 [0, 1] 上,步数为 100,初始条件为 1。5 D. z' q2 ~: o$ r2 D# h+ |

0 m8 ?1 J3 ]: i+ h7 q" M8 |5 j5 S- q. I! }( o" b
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-7-10 19:01 , Processed in 0.734575 second(s), 51 queries .

回顶部