数值分析笔记整理(二)

数值分析笔记整理(二)

第六章解线性方程组的迭代法

1、雅可比迭代法

做题步骤

[ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] [ x 1 x 2 x 3 ] = [ b 1 b 2 b 3 ] \large \begin{bmatrix}a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\a_{31} & a_{32} & a_{33}\end{bmatrix} \begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix} a11a21a31a12a22a32a13a23a33 x1x2x3 = b1b2b3

  • 确定系数矩阵A,对角矩阵D,下三角矩阵L,上三角矩阵U
  • A = D + L + U A=D+L+U A=D+L+U 变形得到 x → = D − 1 ( L + U ) + D − 1 b → \overrightarrow x = D^{-1}(L+U) + D^{-1} \overrightarrow b x =D1(L+U)+D1b

B J = D − 1 ( L + U ) B_J=D^{-1}(L+U) BJ=D1(L+U)

C = D − 1 b → C=D^{-1} \overrightarrow b C=D1b

  • 注意不管是雅可比还是高斯赛德尔迭代法L与U都要乘以-1再带入计算

  • 根据迭代矩阵写出迭代方程

B J = [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] \large B_J= \begin{bmatrix}a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\a_{31} & a_{32} & a_{33}\end{bmatrix}% BJ= a11a21a31a12a22a32a13a23a33

{ x 1 ( k + 1 ) = a 12 x 2 ( k ) + a 13 x 3 ( k ) + b 1 x 2 ( k + 1 ) = a 21 x 1 ( k ) + a 23 x 3 ( k ) + b 2 x 3 ( k + 1 ) = a 31 x 1 ( k ) + a 32 x 2 ( k ) + b 3 \large \begin{cases} x_1^{(k+1)}=a_{12} x_2^{(k)}+a_{13} x_3^{(k)}+b_1 \\ x_2^{(k+1)}=a_{21} x_1^{(k)}+a_{23} x_3^{(k)}+b_2 \\ x_3^{(k+1)}=a_{31} x_1^{(k)}+a_{32} x_2^{(k)}+b_3\end{cases} x1(k+1)=a12x2(k)+a13x3(k)+b1x2(k+1)=a21x1(k)+a23x3(k)+b2x3(k+1)=a31x1(k)+a32x2(k)+b3

  • 一般取 x ( 0 ) = ( 1 , 1 , 1 , ⋯   ) T \large x^{(0)}=(1,1,1,\cdots)^T x(0)=(1,1,1,)T为初始值开始迭代

  • 迭代精度要求:

一般采用无穷范数 ∣ ∣ x ( k + 1 ) − x ( k ) ∣ ∣ ∞ < 1 0 − n \large ||x^{(k+1)}-x^{(k)}||_\infty<10^{-n} ∣∣x(k+1)x(k)<10n

2、高斯塞德尔迭代法

做题步骤
  • 同样列出系数矩阵A,对角矩阵D此时对角阵D为单位矩阵),下三角矩阵L,上三角矩阵U

  • B s = ( D − L ) − 1 U \large B_s=(D-L)^{-1}U Bs=(DL)1U

  • 迭代步骤与雅可比相同

3、两种迭代方法的收敛性

  • 若系数矩阵A是严格对角占优,则雅可比迭代法与高斯塞德尔迭代法均收敛

**严格对角占优:**所有对角线元素大于这一行其他元素绝对值之和

  • 一般采用谱半径 ρ \large \rho ρ 来判断迭代是否收敛

ρ = ∣ λ m a x ∣ \large \rho = |\lambda_{max}| ρ=λmax (为矩阵特征值的最大值的绝对值)

ρ < 1 \large \rho < 1 ρ<1 则收敛,否则发散

第七章非线性方程组的数值解法

1、二分法求根

做题步骤

例:二分法求方程 x 2 − x − 1 = 0 x^2-x-1=0 x2x1=0的正根,要求误差小于0.05

  • 确定初始有根区间

f ( x ) = x 2 − x − 1 \large f(x)=x^2-x-1 f(x)=x2x1 f ( 0 ) = − 1 < 0 \large f(0)=-1<0 f(0)=1<0 f ( 2 ) = 1 > 0 \large f(2)=1>0 f(2)=1>0

故在区间[0,2]上f(x)有根

  • 确定二分次数k(k=1,2……)

b 0 − a 0 2 k + 1 < 0.05 \displaystyle \frac{b_0-a_0}{2^{k+1}}<0.05 2k+1b0a0<0.05 解出k即为二分次数

  • 列表求解
k a k a_k ak b k b_k bk x k x_k xk f ( x k ) f(x_k) f(xk)
01.521.75+
11.51.751.625+
21.51.6251.5625-
31.56251.6251.59375-
  • 注意:表格更新方式为若 f ( x k ) f(x_k) f(xk) 为正,则此时 x k x_k xk更新到 b k + 1 b_{k+1} bk+1,若 f ( x k ) f(x_k) f(xk) 为负,则此时 x k x_k xk更新到 a k + 1 a_{k+1} ak+1
  • 此时 x ∗ ≈ x 3 = 1.59375 x^*\approx x_3 =1.59375 xx3=1.59375

可以用 b k − a k 2 < 0.05 \displaystyle \frac{b_k-a_k}{2}<0.05 2bkak<0.05来进行验证

2、牛顿法求根

做题步骤
  • 根据题目列出以下参数

x 0 ; f ( x ) ; f ′ ( x ) \large x_0;f(x);f'(x) x0;f(x);f(x)

  • 列出迭代公式:

x k + 1 = x k − f ( x k ) f ′ ( x k ) k = 0 , 1 , 2 ⋯ \displaystyle x_{k+1} = x_k-\frac{f(x_k)}{f'(x_k)} \quad k=0,1,2\cdots xk+1=xkf(xk)f(xk)k=0,1,2

  • 开始迭代
  • 计算迭代精度(题中一般要求保留n+1位有效数字)

∣ x k − x ∗ ∣ < 1 2 ∗ 1 0 − n \large |x_k-x^*|<\frac{1}{2}*10^{-n} xkx<2110n

  • 求出最终解

3、弦截法求根

  • 根据题目列出以下参数

x 0 x 1 \large x_0 \quad x_1 x0x1

  • 列出迭代公式:

x k + 1 = x k − ( x k − x k − 1 ) ( f ( x k ) ) f ( x k ) − f ( x k − 1 ) k = 1 , 2 ⋯ \displaystyle x_{k+1} = x_k-\frac{(x_k-x_{k-1})(f(x_k))}{f(x_k)-f(x_{k-1})} \quad k=1,2\cdots xk+1=xkf(xk)f(xk1)(xkxk1)(f(xk))k=1,2

  • 与其他求根方法一样根据精度找出最优解

第九章常微分方程初值问题数值解法

  • 常微分方程一般形式
    { d y d x = f ( x , y ) y ( x 0 ) = y 0 \large \begin{cases} \frac{dy}{dx}=f(x,y)\\ y(x_0)=y_0 \end{cases} dxdy=f(x,y)y(x0)=y0

  • 显式欧拉:
    y n + 1 = y n + h f ( x n , y n ) \large y_n+1 = y_n + h f(x_n,y_n) yn+1=yn+hf(xn,yn)

  • 隐式欧拉:

y n + 1 = y n + h f ( x n + 1 , y n + 1 ) \large y_n+1 = y_n + h f(x_{n+1},y_{n+1}) yn+1=yn+hf(xn+1,yn+1)

  • 梯形公式

y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + 1 ) ] \large y_n+1 = y_n+\frac{h}{2}[f(x_n,y_n)+f(x_{n+1},y_{n+1})] yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+1)]

  • 欧拉公式

{ y ˉ n + 1 = y n + h f ( x n , y n ) y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y ˉ n + 1 ) ] \large \begin{cases} \bar y_{n+1} = y_n +hf(x_n,y_n)\\ y_n+1 = y_n +\frac{h}{2}[f(x_n,y_n)+f(x_{n+1},\bar y_{n+1})] \end{cases} yˉn+1=yn+hf(xn,yn)yn+1=yn+2h[f(xn,yn)+f(xn+1,yˉn+1)]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值