. S( k( _, a& J3 `1 T3. **定义符号变量和函数**:# r& h: r1 E/ L9 D4 l. u9 x9 {# k
```matlab, J& N/ C7 w' o; {7 b( i
syms x;# {' u) t5 f0 O! I& a) s
y = sin(x); 0 N u$ E5 [4 e$ @; l$ ? ```' ^; A% g4 `. j% w+ m1 N, c
- 使用 `syms` 创建符号变量 `x`,然后定义符号函数 \( y = \sin(x) \)。这个函数用于后续的泰勒级数展开。* z0 n9 U) a8 n$ \% X/ B
! b$ x* E9 A- q" _
4. **绘制 sin(x) 图形**:" N% |$ f6 u2 ?9 t% r6 j
```matlab7 o( \8 E6 n3 N
plot(x0, y0), axis([-2*pi, 2*pi, -1.5, 1.5]); hold on ; X) ~9 c1 P7 g* h. q, C2 m1 e ``` 3 A+ U$ a& g1 n3 L& g8 Y - 使用 `plot` 函数绘制 `y0` 关于 `x0` 的图形,即实际的正弦波。: h ~- h' ^! }+ Y" V+ y
- `axis` 函数设置坐标轴的范围为 \([-2\pi, 2\pi]\) 和 \([-1.5, 1.5]\)。 " `8 D ?: P3 j7 c - `hold on` 使得后续绘图不会覆盖当前的图形。. C8 w0 y& I- k- X' I/ v. r: @
?0 m# s4 a U: |+ a# D
5. **进行泰勒级数展开和绘图**:: D: o1 c; Y" P
```matlab 6 x. o/ n( f4 ^: | for n = [8:2:16]1 a" D3 b8 I% k5 I3 Z2 c1 \* @2 p1 V. D
p = taylor(y, x, n); ' y+ L8 Q) Y( \ y1 = subs(p, x, x0);+ M, q8 {% ~2 t
line(x0, y1) # Y( a/ i! H& _) B9 v9 M end 2 x# C: P2 {2 x2 m' G ``` h4 ] o H/ h) T/ e: H - 使用 `for` 循环遍历 `n` 的值,从 8 到 16,步长为 2(即分别为 8、10、12、14 和 16)。: S) ~$ l- P5 P8 `
- 在循环内部: 2 _* f4 t8 D$ ]( c: b - `p = taylor(y, x, n)` 计算在点 0 附近的 \( n \) 次泰勒级数展开,得到多项式 \( p \)。6 [( W# x& X* j* E6 Q
- `y1 = subs(p, x, x0)` 将泰勒展开多项式 \( p \) 替换中 `x` 的值为 `x0`,以计算对应的 `y1`(即泰勒多项式的值)。) X* r* ]% R: ?; n- M& X3 }
- `line(x0, y1)` 在当前图中绘制泰勒级数的结果。4 {* m* {8 N; V7 n* G" X
+ x4 f6 M- x4 P
### 效果 $ T' F5 V5 O5 h0 h- k/ i* j3 W. e! m# Y8 ~/ m
- 代码运行后,会得到一幅包含原始正弦函数图像和不同阶次的泰勒多项式的图形。每个泰勒多项式的图形与正弦函数重合得越近,表示这一级数的逼近效果越好。2 D% i/ \6 ^9 o5 Q9 Y4 T/ F; ^
; l" Q! ]9 [6 _* n* N; a
### 知识点总结/ `- s# Q, Z, ^, L; M
1 [$ X; l- k% Z) i5 `, A1. **泰勒级数**: 4 |+ N, E* J6 L" C; R# F - 泰勒级数是表示函数的一种多项式近似,适用于在某一点附近的函数描述。 : [ p" w. b/ v' V. |2 p. u/ s% `+ S$ `' ]; k, d
2. **符号计算**: ( g& |) E* e+ I& z - 使用 MATLAB 的符号工具箱,能够对符号函数进行解析计算并获取多项式形式。1 f. z/ M( Y8 _3 L. m
$ L z, {- d; p# m8 p5 o9 d
3. **绘图与数据可视化**: : j8 u# u' d: b3 F# }! B - `plot` 和 `line` 函数用于展示函数图像,`hold on` 功能允许在同一图中叠加多个图形。- D+ r: |( z% n% D/ v
0 G; E. l; M( p/ n/ L& ~) I4. **遍历与替换**:0 B9 @: Q( ^1 ~3 z. w
- 通过循环和 `subs` 函数,可以对多次定义和计算的函数值进行有效处理。- B" y, E+ R6 ^9 D' g9 d
2 i3 t" F* J. S# s
### 结论) H. a! L* N8 G# G; o7 k