非线性方程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注:循环计算时,常设置一最大循环次数 循环计算时, 代替f(a)f(x)<0 注:算法中常用sign(f(a)f(x))<0代替 算法中常用 代替 以免在根的附近│f(x)│过小溢出。 过小溢出。 以免在根的附近 过小溢出
2 、 迭 代 法
基本思想:
使用某个固定公式,反复校正根的近似值, 使用某个固定公式 , 反复校正根的近似值 , 从而得到一个近似根的序列 从而得到一个近似根的序列 { xk },使得该序列的 , 极限就是方程的根。 极限就是方程的根。 就是方程的根
具体办法:
1、 f ( x ) = 0 、
⇔
x = g( x )
( k = 0,1L)
2、取初值 x0 ,使得 x k +1 = g ( x k ) 、
3、如 g(x) 连续,且序列 { xk } 收敛到 x*,则有 、 连续, 收敛到 ,
x∗ = lim x k +1 = lim g ( x k ) = g (lim x k ) = g ( x ∗ )
精确值 快速割线法三次迭代所求解 一般割线法三次迭代所求解 割线法与切线法的收 敛条件相似。 敛条件相似。
0
x4 x3
x2
x1
x0
x
编程的基本步骤: 割线法 编程的基本步骤:
Step 1:give x0, x1, eps1, eps2, function f(x) :
注:循环计算时,常设置一最大循环次数。 循环计算时,常设置一最大循环次数。
离 散 化 逼 近 推 递
f ( x 0 ) + f ' ( x 0 )( x − x0 ) = 0
⇒
f ( x0) x = x0 − f '( x0)
xk +1 f ( xk ) = xk − f '( x k )
⇔
迭代格式
牛顿迭代法的几何意义
f (xk ) xk +1 = xk − f ' (xk )
目 标:计算 f(x)=0 在区间 [a,b] 的根
P43、P171 、
Step 1:输入 [a,b], eps1,eps2,function f(x), : , , if(f(a)*f(b)>0)then stop,用其它求根法。 ( ) ,用其它求根法。 Step 2:while(│a-b│>eps1),算 x=(a+b)/2、f(x) ),算 : ( ), 、 ① If │f(x)│<eps2:stop,goto step 3 : , ② If f(a)*f(x)<0:b=x([a,x] 代替 [a,b] ) : ( else endwhile Step 3:output x : a=x([x,b] 代替 [a,b] ) (
k →∞ k →∞ k →∞
4、由于条件 1 存在,所以 x* 即为 f(x)=0 的一根 、 存在, 此时称该迭代法收敛,否则称为发散。 此时称该迭代法收敛,否则称为发散。 收敛 发散
的根。已知x 。 例,用迭代法求解 f(x) = x2 + x – 16 = 0 的根。已知 0=3。 (x*=3.5311289) ) 解: 1
0.5
1 λ
2ε 18.7 i = 1.74 − 2lg + 0.5 Reλ di
问题。 这两个都是典型的 非线性方程求根 问题。
在科学研究和工程设计中常会遇到求解非线性方程 f(x) = 0 的问题,其中 f(x) 为实变量 x 的非线性函数。 的问题, 的非线性函数。 1、代数方程: f(x) = a0 + a1x + … + anxn(an≠0) 、代数方程: ) 2、超越方程: 2、超越方程:f(x) = 0 中含有三角函数、指数函数, 中含有三角函数、指数函数, 或其他超越函数。 或其他超越函数。 问题:非线性函数一般无法用解析法求解。 问题:非线性函数一般无法用解析法求解。
f (x0 ) x1 =p 3:If │x1-x0│< eps1 or f(x) < eps2 : ① Yes:stop, goto step 4 : ② No:x0 = x1, goto step 2 : Step 4:output x1 :
P47、P174 、
2.1 牛顿迭代法(切线法) 牛顿迭代法(切线法)
的一个近似值, 已知 x0 是 f(x)=0 根 x* 的一个近似值,将 f(x) 在 x0 处作 Taylor 展开
f ' (x0 ) f ′′( x 0 ) f ( x) = f ( x 0 ) + ( x − x0 ) + ( x − x0 ) 2 1! 2! f (n) ( x0 ) +L+ ( x − x0 ) n + Rn ( x) n!
非线性方程的 数值解
求非线性方程的近似解,一般需解决以下几个问题。 求非线性方程的近似解,一般需解决以下几个问题。 1、根的存在性 、 方程是否有根,如有根,有几根? 方程是否有根,如有根,有几根? 2、根的隔离(常用逐步搜索法) 、根的隔离(常用逐步搜索法) 找出有根区间, 找出有根区间,使得在一些较小区间中方程中 只有一个实根。 只有一个实根。 3、根的精确化 、 即已知一个根的近似值后,设法逐步把根精确 即已知一个根的近似值后, 化直到满足精度。 化直到满足精度。
P43~53 P171~178
1、二分法 、 2.1 牛顿迭代法 (切线法) 切线法) 2、迭代法 、 2.2 弦割法 (割线法) 割线法)
2.2.1 一般割线法
2.2.2 加速割线法
1、二分法
价值定理: 价值定理 :
上连续, 设 f(x) 在区间 [a,b] 上连续,且 f(a)*f(b)<0, , 那么根据连续函数的零点定理 , 方程 f(x)=0 在 (a,b)内至少有一实根。 )内至少有一实根。
迭代法收敛性定理: 迭代法收敛性定理: 上具有连续的一阶导数, 设迭代函数 g(x) 在 [a, b] 上具有连续的一阶导数,且 当 x∈ [a, b] ,g(x) ∈ [a, b] ∈ 成立, 存在正数 L<1,对任意 x∈ [a, b] ,有│g‘(x)│≤L<1成立,则 , ∈ 成立 方程 x=g(x) 在 [a, b] 有唯一的根 x*,且对任取 0∈[a, b], ,且对任取x , 迭代法: 均收敛, 迭代法:xk+1=g(xk), (k=0,1,…)均收敛,并有 均收敛
迭代法的几何意义(发散): 迭代法的几何意义(发散):
y P3 P 1 P* P0 P2
y=x
y = g(x) 0 x3 x1 x* x0 x2 x
P44、P172 、
迭代法的优缺点: 迭代法的优缺点:
简单易懂; 优 点:简单易懂;易于编程
存在发散问题(首先应判断是否收敛), 缺 点:存在发散问题(首先应判断是否收敛), 且收敛速度较慢。 且收敛速度较慢。
令
p ( x) = f ( x 0 ) + f ' ( x 0 )( x − x0 )
f ( x) = 0
p ( x) ≈ f ( x)
⇒
p( x) = 0
p( x ) = f ( x 0 ) + f ' ( x 0 )( x − x0 ) = 0
p( x) = 0 p( x) ≈ f ( x) ⇒ f ( x) = 0
牛顿迭代法的优缺点: 牛顿迭代法的优缺点:
优 点: 收敛快, 适应面广, 收敛快 , 适应面广 , 可用于求重根和代数方 程的复根。 程的复根。
缺 点: 的要求高, 对初始近似值 x0 的要求高,且在计算过程中 的一阶导数。 要求 f(x) 的一阶导数。
2.2 弦割法(割线法) 弦割法(割线法)
基本思想: 基本思想: 用函数的差商来替代函数的导数进行迭代求根。 用函数的差商来替代函数的导数进行迭代求根。 差商来替代函数的导数进行迭代求根
lim x
k →∞
k
= x∗
1 x ∗ − xk ≤ xk +1 − xk 1− L
Lk x ∗ − xk ≤ x1 − x0 1− L
迭代法的几何意义(收敛): 迭代法的几何意义(收敛): x=g(x) 的解,实质 就是 y=x 与 y=g(x) 的交点的横坐标 的解, 。 y=x y y = g(x) Q1 P* Q2 P1 0 x* x2 x1 x0 x P0
x3 x2 x1
x0
x
条件: 牛顿迭代法 收敛 的 充分 条件:
对于方程 f(x) = 0 ,若存在区间 [a, b],使得: ,使得: 1、f〃(x) 在区间 [a, b] 上连续 、 2、 f(a)*f(b) < 0 、 3、 对任意 x∈ [a, b] ,都有 f‘(x) ≠ 0 、 ∈ 4、 f〃(x) 在 [a, b] 上保号 、 5、x0∈[a, b],且 f(x0) * 、 , f〃(x
f ( x1) − f ( x 0 ) x1− x 0
切线法: 切线法:
f '( x0)
f (xk ) xk +1 = xk − f ' (xk )
xk +1 x k − x k −1 = xk − f ( x k ) f ( x k ) − f ( x k −1 )
割线法: 割线法:
2.2.1 一般 割线法 的几何意义 y
xk +1
xk − x0 = xk − f ( x k ) f ( x k ) − f ( x0) f(x)
0
x4 x3 x2
x1
x0
x
2.2.2 加速 割线法 的几何意义 y
xk +1
x k − x k −1 = xk − f ( x k ) f ( x k ) − f ( x k −1 ) f(x)
非线性方程求根
真实气体在低温和高压下,可用范德华方程计算, 真实气体在低温和高压下 , 可用范德华方程计算, 其范德华方程为: 其范德华方程为:
a p + 2 (V − b ) = RT V
a ab RT ⇔ V +V − b − +V − p = 0 p p
二分法的几何意义: 二分法的几何意义:
f(x)
y
x0 + x 2 x3 = 2
x0 0 x3 x2 x 0 + x1 x2 = 2 x1 x
基本思想 :
1、寻找有根区间 、 2、对分区间 、 3、保留有根区间,舍去无根区间 、保留有根区间, 4、判断是否满足要求 、 5、输出计算值 、
二分法求根算法: 二分法求根算法:
x = 16 − x 2
16 x= x +1 x 2 + x − 16 x = x− 2x + 1
2 3 3.810 4 3.326 5
× √ √√
6 7 8 9
2
3
k 1 2 3 1 7 4
-33 3.2
-1073 -1151313 3.699 3.405 3.632 3.454 3.592
3.571 3.531
T=313.2 K,p=5.006×106 Pa时,1 mol CO2气体所 , × 时 占的体积( ) 对于气体CO2,a=3.65×106 Pa.mol-2, 占的体积(L)。对于气体 × b=0.0428 L.mol-1,R=8315 L.Pa.mol-1K-1。
我们在管路设计中经常碰到,已知雷诺数 , 我们在管路设计中经常碰到,已知雷诺数Re,如 何根据公式求出摩擦系数λ,这是我们在管路设计中 何根据公式求出摩擦系数 , 必须首先解决的问题。 必须首先解决的问题。常见的雷诺数和摩擦系数关系 方程在雷诺数低于4000时有以下关系式: 时有以下关系式: 方程在雷诺数低于 时有以下关系式
0)>0
f(x) 连续光滑
至少有一根 单调性,至多一根 单调性,
1,2,3说明有唯一实根 说明有唯一实根
f(x) 的凹凸性不变
对x0,牛法产生的迭代序列是收敛的
编程的基本步骤: 牛顿迭代法 编程的基本步骤:
注:循环计算时,常设置 循环计算时, 一最大循环次数。 一最大循环次数。
Step 1:give x0, eps1, eps2, function f(x)、f’(x) : 、 Step 2:计算 f(x0), f’(x0), x1 :
f ( x 1 ) − f ( x 0 ) = f ' ( x 0 )( x1 − x0 )
f ( x 2 ) − f ( x1 ) = f ' ( x1 )( x2 − x1 )
y
0= 0= 0
⇔
⇔
f ( x0) x1 = x0 − f '( x0) f ( x1 ) x2 = x1 − f ' ( x1 ) f(x)
2 、 迭 代 法
基本思想:
使用某个固定公式,反复校正根的近似值, 使用某个固定公式 , 反复校正根的近似值 , 从而得到一个近似根的序列 从而得到一个近似根的序列 { xk },使得该序列的 , 极限就是方程的根。 极限就是方程的根。 就是方程的根
具体办法:
1、 f ( x ) = 0 、
⇔
x = g( x )
( k = 0,1L)
2、取初值 x0 ,使得 x k +1 = g ( x k ) 、
3、如 g(x) 连续,且序列 { xk } 收敛到 x*,则有 、 连续, 收敛到 ,
x∗ = lim x k +1 = lim g ( x k ) = g (lim x k ) = g ( x ∗ )
精确值 快速割线法三次迭代所求解 一般割线法三次迭代所求解 割线法与切线法的收 敛条件相似。 敛条件相似。
0
x4 x3
x2
x1
x0
x
编程的基本步骤: 割线法 编程的基本步骤:
Step 1:give x0, x1, eps1, eps2, function f(x) :
注:循环计算时,常设置一最大循环次数。 循环计算时,常设置一最大循环次数。
离 散 化 逼 近 推 递
f ( x 0 ) + f ' ( x 0 )( x − x0 ) = 0
⇒
f ( x0) x = x0 − f '( x0)
xk +1 f ( xk ) = xk − f '( x k )
⇔
迭代格式
牛顿迭代法的几何意义
f (xk ) xk +1 = xk − f ' (xk )
目 标:计算 f(x)=0 在区间 [a,b] 的根
P43、P171 、
Step 1:输入 [a,b], eps1,eps2,function f(x), : , , if(f(a)*f(b)>0)then stop,用其它求根法。 ( ) ,用其它求根法。 Step 2:while(│a-b│>eps1),算 x=(a+b)/2、f(x) ),算 : ( ), 、 ① If │f(x)│<eps2:stop,goto step 3 : , ② If f(a)*f(x)<0:b=x([a,x] 代替 [a,b] ) : ( else endwhile Step 3:output x : a=x([x,b] 代替 [a,b] ) (
k →∞ k →∞ k →∞
4、由于条件 1 存在,所以 x* 即为 f(x)=0 的一根 、 存在, 此时称该迭代法收敛,否则称为发散。 此时称该迭代法收敛,否则称为发散。 收敛 发散
的根。已知x 。 例,用迭代法求解 f(x) = x2 + x – 16 = 0 的根。已知 0=3。 (x*=3.5311289) ) 解: 1
0.5
1 λ
2ε 18.7 i = 1.74 − 2lg + 0.5 Reλ di
问题。 这两个都是典型的 非线性方程求根 问题。
在科学研究和工程设计中常会遇到求解非线性方程 f(x) = 0 的问题,其中 f(x) 为实变量 x 的非线性函数。 的问题, 的非线性函数。 1、代数方程: f(x) = a0 + a1x + … + anxn(an≠0) 、代数方程: ) 2、超越方程: 2、超越方程:f(x) = 0 中含有三角函数、指数函数, 中含有三角函数、指数函数, 或其他超越函数。 或其他超越函数。 问题:非线性函数一般无法用解析法求解。 问题:非线性函数一般无法用解析法求解。
f (x0 ) x1 =p 3:If │x1-x0│< eps1 or f(x) < eps2 : ① Yes:stop, goto step 4 : ② No:x0 = x1, goto step 2 : Step 4:output x1 :
P47、P174 、
2.1 牛顿迭代法(切线法) 牛顿迭代法(切线法)
的一个近似值, 已知 x0 是 f(x)=0 根 x* 的一个近似值,将 f(x) 在 x0 处作 Taylor 展开
f ' (x0 ) f ′′( x 0 ) f ( x) = f ( x 0 ) + ( x − x0 ) + ( x − x0 ) 2 1! 2! f (n) ( x0 ) +L+ ( x − x0 ) n + Rn ( x) n!
非线性方程的 数值解
求非线性方程的近似解,一般需解决以下几个问题。 求非线性方程的近似解,一般需解决以下几个问题。 1、根的存在性 、 方程是否有根,如有根,有几根? 方程是否有根,如有根,有几根? 2、根的隔离(常用逐步搜索法) 、根的隔离(常用逐步搜索法) 找出有根区间, 找出有根区间,使得在一些较小区间中方程中 只有一个实根。 只有一个实根。 3、根的精确化 、 即已知一个根的近似值后,设法逐步把根精确 即已知一个根的近似值后, 化直到满足精度。 化直到满足精度。
P43~53 P171~178
1、二分法 、 2.1 牛顿迭代法 (切线法) 切线法) 2、迭代法 、 2.2 弦割法 (割线法) 割线法)
2.2.1 一般割线法
2.2.2 加速割线法
1、二分法
价值定理: 价值定理 :
上连续, 设 f(x) 在区间 [a,b] 上连续,且 f(a)*f(b)<0, , 那么根据连续函数的零点定理 , 方程 f(x)=0 在 (a,b)内至少有一实根。 )内至少有一实根。
迭代法收敛性定理: 迭代法收敛性定理: 上具有连续的一阶导数, 设迭代函数 g(x) 在 [a, b] 上具有连续的一阶导数,且 当 x∈ [a, b] ,g(x) ∈ [a, b] ∈ 成立, 存在正数 L<1,对任意 x∈ [a, b] ,有│g‘(x)│≤L<1成立,则 , ∈ 成立 方程 x=g(x) 在 [a, b] 有唯一的根 x*,且对任取 0∈[a, b], ,且对任取x , 迭代法: 均收敛, 迭代法:xk+1=g(xk), (k=0,1,…)均收敛,并有 均收敛
迭代法的几何意义(发散): 迭代法的几何意义(发散):
y P3 P 1 P* P0 P2
y=x
y = g(x) 0 x3 x1 x* x0 x2 x
P44、P172 、
迭代法的优缺点: 迭代法的优缺点:
简单易懂; 优 点:简单易懂;易于编程
存在发散问题(首先应判断是否收敛), 缺 点:存在发散问题(首先应判断是否收敛), 且收敛速度较慢。 且收敛速度较慢。
令
p ( x) = f ( x 0 ) + f ' ( x 0 )( x − x0 )
f ( x) = 0
p ( x) ≈ f ( x)
⇒
p( x) = 0
p( x ) = f ( x 0 ) + f ' ( x 0 )( x − x0 ) = 0
p( x) = 0 p( x) ≈ f ( x) ⇒ f ( x) = 0
牛顿迭代法的优缺点: 牛顿迭代法的优缺点:
优 点: 收敛快, 适应面广, 收敛快 , 适应面广 , 可用于求重根和代数方 程的复根。 程的复根。
缺 点: 的要求高, 对初始近似值 x0 的要求高,且在计算过程中 的一阶导数。 要求 f(x) 的一阶导数。
2.2 弦割法(割线法) 弦割法(割线法)
基本思想: 基本思想: 用函数的差商来替代函数的导数进行迭代求根。 用函数的差商来替代函数的导数进行迭代求根。 差商来替代函数的导数进行迭代求根
lim x
k →∞
k
= x∗
1 x ∗ − xk ≤ xk +1 − xk 1− L
Lk x ∗ − xk ≤ x1 − x0 1− L
迭代法的几何意义(收敛): 迭代法的几何意义(收敛): x=g(x) 的解,实质 就是 y=x 与 y=g(x) 的交点的横坐标 的解, 。 y=x y y = g(x) Q1 P* Q2 P1 0 x* x2 x1 x0 x P0
x3 x2 x1
x0
x
条件: 牛顿迭代法 收敛 的 充分 条件:
对于方程 f(x) = 0 ,若存在区间 [a, b],使得: ,使得: 1、f〃(x) 在区间 [a, b] 上连续 、 2、 f(a)*f(b) < 0 、 3、 对任意 x∈ [a, b] ,都有 f‘(x) ≠ 0 、 ∈ 4、 f〃(x) 在 [a, b] 上保号 、 5、x0∈[a, b],且 f(x0) * 、 , f〃(x
f ( x1) − f ( x 0 ) x1− x 0
切线法: 切线法:
f '( x0)
f (xk ) xk +1 = xk − f ' (xk )
xk +1 x k − x k −1 = xk − f ( x k ) f ( x k ) − f ( x k −1 )
割线法: 割线法:
2.2.1 一般 割线法 的几何意义 y
xk +1
xk − x0 = xk − f ( x k ) f ( x k ) − f ( x0) f(x)
0
x4 x3 x2
x1
x0
x
2.2.2 加速 割线法 的几何意义 y
xk +1
x k − x k −1 = xk − f ( x k ) f ( x k ) − f ( x k −1 ) f(x)
非线性方程求根
真实气体在低温和高压下,可用范德华方程计算, 真实气体在低温和高压下 , 可用范德华方程计算, 其范德华方程为: 其范德华方程为:
a p + 2 (V − b ) = RT V
a ab RT ⇔ V +V − b − +V − p = 0 p p
二分法的几何意义: 二分法的几何意义:
f(x)
y
x0 + x 2 x3 = 2
x0 0 x3 x2 x 0 + x1 x2 = 2 x1 x
基本思想 :
1、寻找有根区间 、 2、对分区间 、 3、保留有根区间,舍去无根区间 、保留有根区间, 4、判断是否满足要求 、 5、输出计算值 、
二分法求根算法: 二分法求根算法:
x = 16 − x 2
16 x= x +1 x 2 + x − 16 x = x− 2x + 1
2 3 3.810 4 3.326 5
× √ √√
6 7 8 9
2
3
k 1 2 3 1 7 4
-33 3.2
-1073 -1151313 3.699 3.405 3.632 3.454 3.592
3.571 3.531
T=313.2 K,p=5.006×106 Pa时,1 mol CO2气体所 , × 时 占的体积( ) 对于气体CO2,a=3.65×106 Pa.mol-2, 占的体积(L)。对于气体 × b=0.0428 L.mol-1,R=8315 L.Pa.mol-1K-1。
我们在管路设计中经常碰到,已知雷诺数 , 我们在管路设计中经常碰到,已知雷诺数Re,如 何根据公式求出摩擦系数λ,这是我们在管路设计中 何根据公式求出摩擦系数 , 必须首先解决的问题。 必须首先解决的问题。常见的雷诺数和摩擦系数关系 方程在雷诺数低于4000时有以下关系式: 时有以下关系式: 方程在雷诺数低于 时有以下关系式
0)>0
f(x) 连续光滑
至少有一根 单调性,至多一根 单调性,
1,2,3说明有唯一实根 说明有唯一实根
f(x) 的凹凸性不变
对x0,牛法产生的迭代序列是收敛的
编程的基本步骤: 牛顿迭代法 编程的基本步骤:
注:循环计算时,常设置 循环计算时, 一最大循环次数。 一最大循环次数。
Step 1:give x0, eps1, eps2, function f(x)、f’(x) : 、 Step 2:计算 f(x0), f’(x0), x1 :
f ( x 1 ) − f ( x 0 ) = f ' ( x 0 )( x1 − x0 )
f ( x 2 ) − f ( x1 ) = f ' ( x1 )( x2 − x1 )
y
0= 0= 0
⇔
⇔
f ( x0) x1 = x0 − f '( x0) f ( x1 ) x2 = x1 − f ' ( x1 ) f(x)