QQ登录

只需要一步,快速开始

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

通过泰勒级数展开绘制了正弦函数的逼近

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

1176

主题

4

听众

2884

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-8-27 11:05 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. x0=-2*pi:0.01:2*pi; y0=sin(x0); syms x; y=sin(x);
    \" g4 p/ V' ]4 G# _* A
  2.       plot(x0,y0), axis([-2*pi,2*pi,-1.5,1.5]); hold on
    ! W$ W+ q) K' I7 Q
  3.       for n=[8:2:16]0 m0 e2 w% F; g. C8 k
  4.          p=taylor(y,x,n), y1=subs(p,x,x0); line(x0,y1)5 ~6 }: s  T. |\" L  A( U& o
  5.       end  W! D7 x* l/ `
  6.       
复制代码
这段 MATLAB 代码通过泰勒级数展开绘制了正弦函数的逼近。下面是代码的逐步解释:
6 I) K8 a6 `% `7 O% O8 q1 a6 r, _. f% B! S+ ~1 _' q& g$ C
### 代码解释7 e8 i! [' T4 @! t/ C

+ P9 X9 m# J- x0 C1. **定义 x 范围**:
# c- `- a# X( d4 F3 }$ K5 k   ```matlab: o; c8 X3 |2 T3 O- U
   x0 = -2*pi:0.01:2*pi;
! e. v( n  v# B   ```
( F* t6 e1 i% H2 J7 `   - 这行代码创建了一个从 \(-2\pi\) 到 \(2\pi\) 的向量 `x0`,步长为 0.01。这个向量将用于计算和绘图。3 y, u1 N7 r( _2 q" |

- w$ d. `9 D! N; P, I2. **计算 sin(x0)**:! t+ m; O% m4 {
   ```matlab$ }/ Q9 E! w) W8 T1 Z: o1 c
   y0 = sin(x0);
' s+ I8 q' ^3 r3 r8 M$ Z# ]   ```) |7 ?$ w$ F3 W+ N# u9 T/ V
   - 计算 `x0` 中每个值的正弦,并将结果存储在 `y0` 中。`y0` 将是 `sin` 函数的实际值,用于绘图。% R' w: E- }7 A$ y6 Y' ^

/ X2 y; g6 Z" e6 r1 I6 q3. **定义符号变量和函数**:# w2 K! {% N! M5 N( o2 Z
   ```matlab7 ]+ u; Y# R2 a8 a$ {
   syms x;
0 p: n6 Q& i$ y* J! Q+ ?   y = sin(x);
6 y  p5 t) U2 b  u) B   ```
5 x/ {8 r1 N9 S   - 使用 `syms` 创建符号变量 `x`,然后定义符号函数 \( y = \sin(x) \)。这个函数用于后续的泰勒级数展开。
0 O; `5 l; ]+ K
4 j1 u5 `4 T0 [; Q8 @2 J  A) m6 x; {5 O4. **绘制 sin(x) 图形**:
* z% n2 f7 R5 Y3 {   ```matlab  v0 H, I' U9 Q0 O, Z5 Y# r$ o' i$ {
   plot(x0, y0), axis([-2*pi, 2*pi, -1.5, 1.5]); hold on
  p' s5 c( `1 C   ```
6 i3 [5 f& y+ O   - 使用 `plot` 函数绘制 `y0` 关于 `x0` 的图形,即实际的正弦波。
, V8 w7 C+ {( N   - `axis` 函数设置坐标轴的范围为 \([-2\pi, 2\pi]\) 和 \([-1.5, 1.5]\)。
* \6 q+ K8 f+ {' ^( d; ?1 }+ H   - `hold on` 使得后续绘图不会覆盖当前的图形。) r/ n2 i9 l, e# @

. f3 T- a$ u/ E, ?$ E3 h5. **进行泰勒级数展开和绘图**:
6 K" p! U& o* {2 f+ C' |+ d   ```matlab* e) o3 m8 s. G, @6 j( {
   for n = [8:2:16]- r" D6 {+ c6 r- T; |9 s/ v( n) r
       p = taylor(y, x, n);
  Q0 E, J" o3 p3 C       y1 = subs(p, x, x0);
, a1 V' X1 m- e: x       line(x0, y1)
7 @) j+ x/ n  w( ?. U   end
8 F5 J" H5 S5 n9 @3 Q   ```
0 `6 x: h% O6 M, A: x  V   - 使用 `for` 循环遍历 `n` 的值,从 8 到 16,步长为 2(即分别为 8、10、12、14 和 16)。
8 E" @5 E& }; [, @) `   - 在循环内部:& v  z7 }9 Z* t# k3 h! d+ ]
     - `p = taylor(y, x, n)` 计算在点 0 附近的 \( n \) 次泰勒级数展开,得到多项式 \( p \)。% C' ]! q! j+ \
     - `y1 = subs(p, x, x0)` 将泰勒展开多项式 \( p \) 替换中 `x` 的值为 `x0`,以计算对应的 `y1`(即泰勒多项式的值)。6 N2 P" J( t& f- B# q8 B
     - `line(x0, y1)` 在当前图中绘制泰勒级数的结果。
6 J& j# A) X1 T( m; E  z) T5 e' e+ p) ^0 L
### 效果. U1 k: ?! u% t

8 J4 T; y4 O% k- g$ @, D  ]* E- 代码运行后,会得到一幅包含原始正弦函数图像和不同阶次的泰勒多项式的图形。每个泰勒多项式的图形与正弦函数重合得越近,表示这一级数的逼近效果越好。
; ?( r* p( T! @- v( Q) r0 v" V, \* j9 V+ t# k7 c3 x/ F
### 知识点总结; R) \' y2 K% ^4 e* l& b
9 \2 \- h% k4 q$ F" P+ i1 O0 a
1. **泰勒级数**:
$ R3 f; a3 V8 y5 P* X   - 泰勒级数是表示函数的一种多项式近似,适用于在某一点附近的函数描述。
7 {+ i7 L, r- u; U' P% ^- n% U! {; D9 G0 B( e) x, y9 A( i/ H
2. **符号计算**:
. C) `8 ?, I8 B! K% v  q2 Y; y   - 使用 MATLAB 的符号工具箱,能够对符号函数进行解析计算并获取多项式形式。  Y5 J# ]* L, C* s0 Q

' R2 C8 s  ]; L3. **绘图与数据可视化**:
# q3 k: ]4 V& E& c! `   - `plot` 和 `line` 函数用于展示函数图像,`hold on` 功能允许在同一图中叠加多个图形。& N0 z8 h" k* ?% C4 a" O
) Y" T$ d0 R, I# E
4. **遍历与替换**:
0 Y, N5 F7 _% K8 o* p( w' [% t   - 通过循环和 `subs` 函数,可以对多次定义和计算的函数值进行有效处理。% S. B8 V' Q& a9 l

4 V' o% G! Q) f# d1 {; ^5 e' i### 结论
) j: {' i8 v8 T& Z& ~( {
8 ^/ D  W, V& ?这段代码展示了如何利用 MATLAB 对正弦函数进行泰勒级数展开,并通过可视化的方式展示其近似效果。可以通过这个示例了解泰勒级数的适用性和效率,同时为函数逼近与数值计算提供了直观的理解。' W# Z5 y! ?! U+ c
: }) W+ E- k  n0 X0 S
0 o4 u9 G7 c. }9 l& h) `
8 F1 w0 ?5 ?9 ?6 M" O
7 g' h! n1 L4 {, c

examp3_18.m

211 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

售价: 2 点体力  [记录]  [购买]

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, 2025-9-16 15:56 , Processed in 1.412382 second(s), 54 queries .

回顶部