QQ登录

只需要一步,快速开始

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

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

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-31 17:55 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
这段 MATLAB 代码实现了使用二阶和四阶的泰勒展开法(Taylor's method)来数值求解常微分方程初值问题,并将结果与精确解进行比较。以下是代码的主要解释:
- ]4 z. {- u0 r! Hfunction y = Taylor(a, b, N, af)
" t" i" x1 b- @# B3 G    h = (b - a) / N;" ?- f( ~" i* |1 r
    x(1) = a;
) f+ r7 `- K: }0 V, p$ D$ [# J    y2(1) = af;- {! O" S- L+ P4 @3 L. I8 ]
    y4(1) = af;
: C( W4 O! K3 ]1 p    jqj(1) = af;$ u5 _1 u1 B+ P& ?: w+ h
/ i9 {5 z! ~! H
    for i = 2:N
  [8 V2 C0 a, I# r, A, {        % 二阶Taylor法8 w6 i0 ~* G2 J% L
        y2(i) = y2(i-1) + h * ((1 - h/2) * (x(i-1) - y2(i-1)) + 1);
2 f" e, u: o* r0 J0 I) s" b- |3 F; E! G5 {
        % 四阶Taylor法
9 o- ~( D3 p& E1 O        y4(i) = y4(i-1) + h * ((1 - h/2 + h^2/6 - h^3/24) * (x(i-1) - y4(i-1)) + 1);" N0 e* C1 s% G2 Y( G

- k1 u$ n, H# s        x(i) = a + (i-1) * h;' |. D( q; f* S5 D! c0 z8 V
        jqj(i) = x(i) + exp(-x(i));
% V' v6 L0 M# k! W( B    end
& I6 Z. a8 W( L5 f; g1 S
, X) t+ l" d& N6 `: }8 s    % 将结果输出为矩阵形式
- M. k2 ^, r0 A+ _    result = [x', y2', y4', jqj'];# [- [2 R9 [0 y

  I  q  U' V, i1 p8 L( B9 \    % 绘制曲线
4 |# Y- ?1 e& f7 y; O    plot(x, y2, 'r', x, y4, 'b', x, jqj, 'g');, D8 J$ X: U& @. \' o
    legend('Taylor2法', 'Taylor4法', '精确解');
* v3 c$ Y, k# |  a9 W# z! r7 Vend
9 R/ t5 H/ ]9 k# |0 u6 n7 j7 a! M- _8 S" m" H8 T) f$ c
该函数的输入参数包括求解区间 [a, b]、步数 N 以及初始条件 af。函数使用二阶和四阶的泰勒展开法来逐步求解微分方程。最后,结果以矩阵形式输出,并绘制了二阶Taylor法、四阶Taylor法和精确解的曲线。1 W0 U5 k  T! h5 Y% V& s
你可以调用这个函数,例如 Taylor(0, 1, 100, 1),其中参数表示解在区间 [0, 1] 上,步数为 100,初始条件为 1。7 n6 `; U% D2 K

4 ^2 u0 |9 {7 y5 S# x
9 R8 l+ z' e4 k
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-25 22:05 , Processed in 0.249010 second(s), 51 queries .

回顶部