第六章非线性方程的数值解法习题解答

合集下载

6.4非线性方程组的数值解法(共29张PPT)

6.4非线性方程组的数值解法(共29张PPT)

y1 ( x2
y2 )(x2
y2 )
1 10
(3.25
x1
y1
4.5 x2
y2
)
0.45
x
y
1
(x) ( y) 1 1 (x) 2 ( y) 2 (x) 2 ( y) 0.75 x y
可见,函数 在上 D0是压缩的。因此,由定理6.8得知 结论成立。
以上讨论了迭代法在 D0的收敛性,下面讨论局部收敛性。
y2 )(x2
y2 )
3 10
(
x1
y1
x2
y2 ) 0.3 x y 1
第九页,共二十九页。
第六章非线性方程组的迭代解法
2 (x) 2 ( y)
1 10
x1
y1
x1 x22
y
2
y
2 2
1 10
x1
y1
x1
x
2 2
y1
x
2 2
y1
x
2 2
y1
y
2 2
从而
1 10
(1
x
2 2
)(
x1
y1 )
第十页,共二十九页。
第六章非线性方程组的迭代解法
定义6.4 设 x*为 的不动点,若存在 x*的一个领域 S ,D 对一切
x(0) S , 由(6.4.3)式产生的序列 x(k) S
且 lim x(k) x* ,则称 x(k)具有局部收敛性。 k
定义6.5
设 x(k)收敛于 x,* 存在常数 p 2及常数c>0,使
10 1
0 10
x
(
0)
88
第十六页,共二十九页。
第六章非线性方程组的迭代解法

非线性方程组数值解法-非线性方程组数值解法

非线性方程组数值解法-非线性方程组数值解法

非线性方程组数值解法-非线性方程组数值解法非线性方程组数值解法-正文n个变量n个方程(n >1)的方程组表示为(1)式中ƒi(x1,x2,…,x n)是定义在n维欧氏空间R n的开域D上的实函数。

若ƒi中至少有一个非线性函数,则称(1)为非线性方程组。

在R n中记ƒ=则(1)简写为ƒ(尣)=0。

若存在尣*∈D,使ƒ(尣*)=0,则称尣*为非线性方程组的解。

方程组(1)可能有一个解或多个解,也可能有无穷多解或无解。

对非线性方程组解的存在性的研究远不如线性方程组那样成熟,现有的解法也不象线性方程组那样有效。

除极特殊的方程外,一般不能用直接方法求得精确解,目前主要采用迭代法求近似解。

根据不同思想构造收敛于解尣*的迭代序列{尣k}(k=0,1,…),即可得到求解非线性方程组的各种迭代法,其中最著名的是牛顿法。

牛顿法及其变形牛顿法基本思想是将非线性问题逐步线性化而形成如下迭代程序:(2)式中是ƒ(尣k)的雅可比矩阵,尣0是方程(1)的解尣*的初始近似。

这个程序至少具有2阶收敛速度。

由尣k算到尣k+的步骤为:①由尣k算出ƒ(尣k)及;②用直接法求线性方程组的解Δ尣k;③求。

由此看到迭代一次需计算n个分量函数值和n2个分量偏导数值,并求解一次n阶线性方程组。

为了评价非线性方程组不同迭代法的优劣,通常用效率作为衡量标准,其中P为迭代法的收敛阶,W为每迭代步计算函数值ƒi及偏导数值的总个数(每迭代步中求一次逆的工作量相同,均不算在W内)。

效率e越大表示此迭代法花费代价越小,根据效率定义,牛顿法(2)的效率为。

牛顿法有很多变形,如当奇异或严重病态时,可引进阻尼因子λk,得到阻尼牛顿法,即式中I是单位矩阵。

牛顿法是局部收敛方法,因而对初始近似尣0限制较严,为放宽对尣0的要求,扩大收敛范围,通常可引进松弛因子ωk,得到牛顿下降法:(3)式中ωk的选择应使成立。

为减少解线性方程组次数,提高效率,可使用修正牛顿程序(4)这种算法也称为萨马斯基技巧,它的收敛阶为 p =m+1,由尣k计算的工作量为W =n2+mn,于是该法的效率。

5-非线性方程组的数值解法及最优化方法

5-非线性方程组的数值解法及最优化方法

1 4 0
非线性方程组的数值解法
x10=0; x20=0; k=0; while 1 k=k+1; x1k=(1+x20-0.1*exp(x10))/4; x2k=(x10-x10^2/8)/4; %雅克比迭代法 %x2k=(x1k-x1k^2/8)/4; %高斯-赛德尔迭代法 err1=abs(x1k-x10); err2=abs(x2k-x20); err=max(err1,err2); if err<=0.00000000005 break; end x10=x1k; x20=x2k; end
0.0000055305 0.0000001511 0.0000000041 0.0000000001
非线性方程组的数值解法
牛顿迭代法:根据求解非线性方程的牛顿迭代法,如果已经 k k T ,则 ,, xn 给出方程组 Fx 0 的一个近似根 xk x1k , x2 可把函数 Fx 的分量 fi x, i 1,2,, n 在 x k 处按多元函数泰 勒公式展开,取其线性部分做近似,得
(0.2325668498,0.0564514831) (0.2325670008,0.0564515487) (0.2325670050,0.0564515196) (0.2325670051,0.0564515197) (0.2325670051,0.0564515197)
0.0002023950


所以有
1 x φx 1 2 x1
0
T
取初值 x 代公式收敛。
T 0 x 0 , 0 附近 φx 1,所以迭 0,0 ,在
1 1 x 1 e 40 x2 2 1 1 x1 x2 4 16

《常微分方程》第六章 非线性微分方程

《常微分方程》第六章 非线性微分方程

定理6.1 (稳定性的Liapunov判别法) 设有定义在 D Rn
上的定正(定负)函数 V (x), dV dt
(6.2)
表示 V (x) 沿系统(6.2)的轨线
的全导数
dV (1) 若 dt (6.2)
dV (2) 若 dt (6.2)
在 D 上是常负(常正)的,则 x 0 是稳定的; 在 D 上是定负(定正)的,则 x 0 是渐近稳定的;
称为 x 0 吸引域;如果吸引域是全空间,则称 x 0 是全局渐近
稳定的.
(3) 若 0 0, 0, 都 x0 与 t1 t0 , 使 x0 ,
但 x(t;t0, x0 , 则称 x 0 是不稳定的;
例如, 微分方程 dx ax
dt
满足初值条件 x(t0 ) x0 ,
(a)
(b)
又知,对任意常数,函数x cos(t ), y sin(t ), 也是方程组的解,它的积分曲线是经过(,1, 0)的螺旋
线,但是它们与解x cos t, y sin t有同一条轨线 x2 y2 1.
同是,我们也可以看出, x cos(t ), y sin(t )
(6.1)称为非自治系统, (6.2)称为自治系统,
6.1.1 非自治系统与自治系统的主要区别
自治系统不论是在相空间还是增广相空间,轨线匀不相交. 而非自
治系统在增广相空间积分曲线不相交,但在相空间轨线可能相交.
定义6.1 若存在 x* D 使 f (x*) 0, 则点 x* 称为系统(6.2)
的解为
x x0ea(tt0 ) .
6.3 判定稳定性的Liapunov函数法
定义6.3 设 D x x H Rn,V C(1) (D).

非线性方程(组)的数值解法——牛顿法、弦切法

非线性方程(组)的数值解法——牛顿法、弦切法

需要求导数!
9
简化的Newton法
简化的 Newton 法
基本思想:用 f’(x0) 替代所有的 f’(xk)
xk 1
f ( xk ) xk f '( x0 )
线性收敛
10
Newton下山法
Newton下山法
基本思想:要求每一步迭代满足下降条件
f x k 1 f x k
非线性方程组的数值解法牛顿法弦切法非线性方程组数值解法非线性方程数值解法非线性方程的数值解法非线性方程组迭代解法非线性方程组的解法非线性方程组解法微分方程数值解法常微分方程的数值解法微分方程数值解法pdf
计算方法
第七章
非线性方程(组)的数值解法
—— Newton 法 —— 弦截法、抛物线法
1
本讲内容
13
举例
例:求 x4 - 4x2 + 4=0 的二重根 x* 2 (1) 普通 Newton 法
x2 2 1 ( x ) x 4x
(2) 改进的 Newton 法 x2 2 2 ( x) x
2x
(3) 用 Newton 法解 (x) = 0
x ( x 2 2) 3 ( x) x x2 2
f [ xk , xk 1 , xk 2 ]( x xk )( x xk1 )
xk 1 xk
2 f ( xk )
2 4 f ( xk ) f [ xk , xk 1 , xk 2 ]
f [ xk , xk1 ] f [ xk , xk1 , xk2 ]( xk xk1 )
f ( x) ( x) x f '( x )
1 '( x*) 1 m

非线性方程和方程组的数值解法

非线性方程和方程组的数值解法

1. 使用二分法求3250x x --=在区间[2,3]上的根,要求误差不超过30.510-⨯.解:首先确定二分次数,根据误差估计式得,取k=10即可。

使用二分法计算10次,结果见下表2. 利用0)ln(=+x x 构造收敛的迭代格式,并求在0.5附近的根.解 首先考虑迭代格式1ln ,0,1,2,...k k x x k +=-=,相应的迭代函数()ln ,x x ϕ=-容易计算'1()x xϕ=-,在0.5附近有 ''()2,()21x x ϕϕ≈-≈>.迭代格式1ln ,0,1,2k k x x k +=-=不收敛,利用上题结论,函数()ln x x ϕ=-的反函数1()x x e ϕ--=,建立迭代格式1,0,1,2,...,k x k x e k -+==取初值00.5x =,计算结果见下表:最后*180.5671408x x≈=3.求方程310x x--=在]2,1[上的唯一正根,精度410-解考虑函数3()1, f x x x=--显然(1)10,(2)50f f=-<=>,故在[1,2]上方程有根存在;另外'2()312,[1,2],f x x x=-≥∈因此在[1,2]上方程有唯一的根。

建立迭代格式1nx+=迭代函数()xϕ=在[1,2]上满足23'131()(1)3x xϕ-=+<根据收敛性定理,迭代格式1nx+=[1,2]x∈均收敛。

例如,取初值x=1.5,并计算结果如下:方程31x x--=0在[]1,2上的精确解是* 1.324718x=4.利用简单加速方法,求方程xx e-=在x=0.5附近得一个根,精度510-。

解考虑'(),()0.6x xx e x e Lϕϕ--==-=≈-.利用简单加速方法()1111111n nnn nL Lx xx x xϕ+++--⎧=⎪⎨=-⎪⎩得()1111 1.60.6nxnnn nx ex x x-+++⎧=⎪⎨=+⎪⎩取初值00.5x =,计算结果列表如下:5. 利用Newton 法解方程x=cosx ,取初值0x =1.解 考虑()cos f x x x =-,建立Newton 迭代格式:()()01'1,,0,1,2.....n n n n x f x x x n f x +=⎧⎪⎨=-=⎪⎩方程x=cosx 的精确解是*x =0.739 085 133……。

数值分析练习题附答案

数值分析练习题附答案

目录一、绪论------------------------------------------------------------------------------------- 2-2二、线性方程组直接解法列主元高斯LU LDL T GG T-------------------- 3-6二、线性方程组迭代法----------------------------------------------------------------- 7-10 三、四、非线性方程组数值解法二分法不动点迭代---------------------- 11-13五、非线性方程组数值解法牛顿迭代下山弦截法----------------- 14-15六、插值线性插值抛物线插值------------------------------------------------ 16-18七、插值Hermite插值分段线性插值-----------------------------------------19-22八、拟合------------------------------------------------------------------------------------ 23-24九、数值积分----------------------------------------------------------------------------- 25-29十、常微分方程数值解法梯形欧拉改进----------------------------------- 30-32 十一、常微分方程数值解法龙格库塔------------------------------------------ 33-35绪论1-1 下列各数都是经过四舍五入得到的近似值 ,试分别指出它们的绝对误差限,相对误差限和有效数字的位数.X 1 =5.420, X 2 =0.5420, X 3 =0.00542, X 4 =6000, X 5 =0.6×105注:将近似值改写为标准形式X 1 =(5*10-1+4*10-2+2*10-3+0*10-4)*101 即n=4,m=1 绝对误差限|△X 1|=|X *1-X 1|≤ 12×10m-n =12×10-3 相对误差限|△r X 1|= |X∗1−X1||X∗1|≤|X∗1−X1||X1|= 12×10-3/5.4201-2 为了使101/2 的相对误差小于0.01%, 试问应取几位有效数字?1-3 求方程x 2 -56x+1=0的两个根, 使它们至少具有4位有效数字( √783≈27.982)注:原方程可改写为(x-28)2=783线性方程组解法(直接法)2-1用列主元Gauss消元法解方程组解:回代得解:X1=0 X2=-1 X3=12-2对矩阵A进行LU分解,并求解方程组Ax=b,其中解:(注:详细分解请看课本P25)A=(211132122)→(211(1/2)5/23/2(1/2)3/23/2)→(2111/25/23/21/2(3/5)3/5)即A=L×U=(11/211/23/51)×(2115/23/23/5)先用前代法解L y=P b 其中P为单位阵(原因是A矩阵未进行行变换)即L y=P b 等价为(11/211/23/51)(y1y2y3)=(111)(465)解得 y 1=4 y 2=4 y 3=35再用回代解Ux =y ,得到结果x即Ux =y 等价为(2115/23/23/5)(x 1x 2x 3)=(y 1y 2y 3)=(443/5) 解得 x 1=1 x 2=1 x 3=1即方程组Ax=b 的解为x =(111)2-3 对矩阵A 进行LDL T 分解和GG T 分解,求解方程组Ax=b,其中A=(164845−48−422) , b =(123)解:(注:课本 P 26 P 27 根平方法)设L=(l i j ),D=diag(d i ),对k=1,2,…,n,其中d k =a kk -∑l kj 2k−1j=1d jl ik =(a ik −∑l ij l kj k−1j=1d j )/ d k 即d 1=a 11-∑l 1j 20j=1d j =16-0=16因为 l 21=(a 21−∑l 2j l 1j 0j=1d j )/ d 1=a 21/ d 1=416=14 所以d 2=a 22-∑l 2j 21j=1d j =5-(14)2d 1=4同理可得d 3=9 即得 D=(1649)同理l 11=(a 11−∑l ij l 1j 0j=1d j )/ d 1=1616=1=l 22=l 33 l 21=(a 21−∑l 2j l 1j 0j=1d j )/ d 1=416=14 l 31=(a 31−∑l 3j l 1j 0j=1d j )/ d 1=816=12 l 32=(a 32−∑l 3j l 2j 1j=1d j )/ d 2=−4−12×14×164=−64=-32即L=(114112−321) L T=(114121−321) 即LDL T分解为A=(114112−321)(1649)(114121−321)解解:A=(164845−48−422)→(41212−32−33)故得GG T分解:A=(4122−33)(4122−33) LDL T分解为A=(114112−321)(1649)(114121−321) 由(114112−321)(y 1y 2y 3)=(123) ,得(y 1y 2y 3)=(0.250.8751.7083)再由(4122−33)(x 1x 2x 3)=(0.250.8751.7083) ,得(x 1x 2x 3)=(−0.54511.29160.5694)2-4 用追赶法求解方程组:解:(4−1−14−1−14−1−14−1−14)→(4−14−1154−415−15615−1556−120956−56209−1780209)由(4−1154−15615−120956−1780209)(y1y2y3y4y5)=(100200),得(y1y2y3y4y5)=(256.66671.785700.4784753.718)再由(1−141−4151−15561−562091)(x1x2x3x4x5)=(256.66671.785700.4784753.718),得(x1x2x3x4x5)=(27.0518.20525.769314.87253.718)线性方程组解法(迭代法)2-1 设线性方程组{4x 1−x 2+2x 3=1−x 1−5x 2+x 3=22x 1+x 2+6x 3=3(1) 写出Jacobi 法和SOR 法的迭代格式(分量形式) (2) 讨论这两种迭代法的收敛性(3) 取初值x (0)=(0,0,0)T ,若用Jacobi 迭代法计算时,预估误差 ||x*-x (10)||∞ (取三位有效数字)解:(1)Jacobi 法和SOR 法的迭代格式分别为Jacobi 法迭代格式SOR(2)因为A 是严格对角占优矩阵,但不是正定矩阵,故Jacobi 法收敛,SOR 法当0<ω≤1时收敛.⎪⎪⎪⎩⎪⎪⎪⎨⎧+--=-+-=+-=+++216131525151412141)(2)(1)1(3)(3)(1)1(2)(3)(2)1(1k k k k k k k k k x x x x x x xx x ⎪⎪⎪⎩⎪⎪⎪⎨⎧-++-=+-+-=+-+-+=++++++)216131()525151()412141()(3)1(2)1(1)(3)1(3)(3)(2)1(1)(2)1(2)(3)(2)(1)(1)1(1k k k k k k k k k k k k k k k x x x x x x x x x x x x x x x ωωω(3)由(1)可见||B ||∞=3/4,且取x (0)=(0,0,0)T ,经计算可得x (1)=(1/4,-2/5,1/2)T ,于是||x (1)-x (0)||∞=1/2,所以有2-2 设方程组为{5x 1+2x 2+x 3=−12−x 1+4x 2+2x 3=202x 1−3x 2+10x 3=3试写出其Jacobi 分量迭代格式以及相应的迭代矩阵,并求解。

非线性方程组数值解法

非线性方程组数值解法
(k ) (k )
1
f (x )
1
(k )
( k 1)
x
(k )
f ( x )
f (x )
(k )
称上述公式为Newton迭代格式。 Newton迭代方法在实际迭代时,转化为求方程组的解
f ( x )( x
(k )
( k 1)
x ) f (x )
(k ) (k ) (k )
Broyden秩1方法的迭代公式变为:
x x ( A ) f ( x ) , k 0 , 1 , 2 ( 0) 1 1 ( 0) ( A ) f ( x )
( k 1) (k ) ( k ) 1 (k)
Broyden秩1算法 ( 0) n 选取初值 x R
(1)
x
( 0)
x
( 0)
0.8 0.88
计算结果如下
要求 精度 0.001 迭代 次数 2
方程组的近似解
(1.0000 1.0000)
0.0001
3
(1.0000 1. 0000)
Broyden秩1方法(拟Newton方法中的一种)
利用多元函数的Taylor展开公式得
(A ) (k ) ( k ) 1 (k ) x (A ) f (x )
( k ) 1
满足给定的精度要求,迭代终止。
Broyden秩1算法 ( 0) n 选取初值 x R
计算
( A ) (f ( x ))
( 0)
( 0) 1
1
x x (A ) f (x )
(1) ( 0) ( 0)
A y ( k 1) T ( k 1) (y ) y

非线性方程(组)的解法

非线性方程(组)的解法
an - bn

x - cn

bn an 2


2
8
2.2一般迭代法

2.2.1 迭代法及收敛性 对于 f ( x) 0 有时可以写成 x ( x) 形式 如: x3 x 1 0 x 3 x 1
x 1 x3
x cos x 0 x cos x
4
二分法

用二分法(将区间对平分)求解。 令 a1 a, b1 b, c1 1 2 (a1 b1 ) 若 f (a1 ) f (c1 ) 0,则 [a1 , c1 ] 为有根区间,否 则 [c1 , b1 ]为有根区间 记新的有根区间为 [a2 , b2 ], 则
[a1 , b1 ] [a2 , b2 ]
18
3.非线性方程组的迭代解法
f1 ( x1 , x2 , , xn ) 0 f1 ( x) f1 ( x1 , L , xn ) 或 F ( x) L 0 L f ( x) f ( x , L , x ) f ( x , x ,, x ) 0 n n பைடு நூலகம் n 1 n n 1 2
an x bn


n 1,2...... 1 lim(bn an ) lim n 1 (b a) 0 n n 2
lim an lim bn x
n n
1 取 x cn (an bn ) 为 2

x 的近似解。
7
二分法
迭代终止准则

b2 a2 1 2 (b1 a1 )
5
二分法

对 [a2 , b2 ]重复上述做法得

非线性方程的数值解法

非线性方程的数值解法

xk

x* ) p
根据已知条件得
(xk ) (x*)
1
p!
(
p
)
(
)(
xk
x*) p
由迭代公式 xk1 (xk ) 及 x* (x* ) 有
x k 1

x*

( p) ( )
p! (xk

x*) p
lim ek1 ( p) (x* ) 0
取一个初值 x0 , 代入式 x (x) 的右端, 得到
x1 (x0 )
再将 x1 代入式 x (x) 的右端, 得到 x2 (x1) , 依此类推, 得到一个数列 x3 (x2 ) …, 其一般表示
xk1 (xk ) (k 0,1,2,) (2.4)
2.3.1 迭代法的基本思想
为求解非线性方程f(x)=0的根,先将其写成便
于迭代的等价方程
x (x)
其中 (x) 为x的连续函数
(2.3)
例4 用迭代法求方程 x3 x 1 0
在x=1.5附近的一个根 解 将方程改写成如下两种等价形式
x 1 (x ) 3 x 1 x 2 (x ) x3 1
x6、x7重合,所以迭代公式(1)是收敛的,x*≈0.3758。 用迭代公式(2) xk1 10xk 2 , x0=1, 算得
x1=10-2=8, x2=108-2≈108, x3=10108-2≈ 10108,…… 迭代公式(2)发散。
}
2.3.3 迭代法收敛的条件 对方程f(x)=0可以构造不同的迭代公式, 但
证:由于 (x*) 1 ,存在充分小邻域△: x x* ,使成 立 (x* ) L 1 这里L为某个定数,根据微分中值定 理 (x) (x* ) ( )( x x* ) 由于 (x* ) x*,又当 x 时 ,故有 (x) x* L x x* x x* 由定理2.1知 xk1 (xk ) 对于任意的 x0 都收敛

非线性方程的数值解法例题及程序

非线性方程的数值解法例题及程序

求解下列方程组3x1cos x2 x31/ 20,F x1 , x2 , x3x1281 x20.12x3 1.06 0, sine x1x220x3103/3 0.为了验证其这些方法的有效性和比较三种方法的收敛速度,分别根据这些方法的迭代步骤,利用MATLAB 软件进行编程求解,具体程序参见附件,取初始0T变量 x(0.1,0.1, 0.1) ,精度e0.0001,根据各迭代原理,利用MATLAB软件编制成M 文件.建立基本函数为fun.m(程序5),导函数为dfun.m(程序6),牛顿迭代法为newton.m(程序4),简化的牛顿法为Jnewton.m(程序7),修正牛顿法为 XZnewton.m (程序 8), N-SOR法为 SORnewton.m(程序 9),中点牛顿法为 Mnewton.m(程序 10).运行程序,得结果如表 2 所示.表 2非线性方程组的数值结果迭代法初值迭代解迭代次数误差牛顿法(0.1,0.1,0.1)T(0.5000,0.0000,0.5236)T7 5.346110-6简化的牛顿法(0.1,0.1,0.1)T(0.5000,0.0000,0.5236)T13 6.154310-6修正牛顿法(0.1,0.1,0.1)T(0.5000,0.0000,-0.5236)T49.646310-6 N-SOR 法 1.1(0.1,0.1,0.1)T(0.4999,0.0195,-0.5215)T67.111810-6 N-SOR 法1(0.1,0.1,0.1)T(0.4999,0.0195,-0.5215)T3 4.293010-6中点牛顿法(0.1,0.1,0.1)T(0.5000,0.0000,-0.5235)T7 5.122210-6程序 4function x=newton(x0,eps,N)%其中 x0 为迭代初值;eps 为精度要求;N为最大迭代步数.con=0;n=1;%con 用来记录结果是否收敛;n 为迭代步数.for i=1:N;f=subs(fun(x0),{'x1''x2''x3'},{x0(1) x0(2) x0(3)});df=subs(dfun(x0),{'x1''x2''x3'},{x0(1) x0(2) x0(3)});x=x0-f/df;if norm(x-x0)<epscon=1;break ;endx0=xn=n+1;endncon程序 5function f=fun(x);%定义非线性方程组%变量 x1 x2 x3%函数 f1 f2 f3syms x1 x2 x3f1=3*x1-cos(x2*x3)-1/2;f2=x1^2-81*(x2+0.1)^2+sin(x3)+1.06;f3=exp(-x1*x2)+20*x3+(10*pi-3)/3;f=[f1 f2 f3];程序 6function df=dfun(x);%方程求导f=fun(x);df=[diff(f,'x1' );diff(f,'x2' );diff(f,'x3')];df=conj(df');程序 7function x=Jnewton(x0,eps,N)%其中 x0 为迭代初值;eps 为精度要求;N为最大迭代步数.con=0;n=1;%con 用来记录结果是否收敛;n 为迭代步数.df=subs(dfun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)}); for i=1:N;f=subs(fun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});x=x0-f/df;if norm(x-x0)<epscon=1;break ;endx0=xn=n+1;endncon程序 8function x=Jnewton(x0,eps,N)%其中 x0 为迭代初值;eps 为精度要求;N为最大迭代步数.con=0;n=1;%con 用来记录结果是否收敛;n 为迭代步数.for i=1:N;f=subs(fun(x0),{df=subs(dfun(x0),{ m=x0-f/df;f2=subs(fun(m),{'x1''x1''x1''x2''x2''x2''x3' },{x0(1) x0(2) x0(3)});'x3' },{x0(1) x0(2) x0(3)});'x3' },{m(1) m(2) m(3)});x=x0-(f+f2)/df;if norm(x-x0)<epscon=1;break ;endx0=xn=n+1;endncon程序 9function x=SORnewton(x0,eps,N,w)%其中 x0 为迭代初值;eps 为精度要求;N为最大迭代步数;w为松弛因子,一般n=1;%n为迭代次数f=subs(fun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});df=subs(dfun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});%----------------用SOR法解线性方程组AX=b---------------x0=x0';A=df;b=A*x0-f';n=1;%-----(A=D-E-F)------D=diag(diag(A));L=-tril(A,-1);%上三角阵U=-triu(A,1);%下三角阵H=inv(D-w*L)*[(1-w)*D+w*U];d=w*inv(D-w*L)*b;x=H*x0+d;%--------开始迭代------while max(abs(x0-x))>epsx0=x;x=H*x0+d;n=n+1;if n>N%迭代次数限制0<w<2.breakendend%--------SOR迭代结束-------nr=max(abs(x0-x))end程序 10function x=Mnewton(x0,eps,N)%其中 x0 为迭代初值;eps 为精度要求;N为最大迭代步数.n=1;%n为迭代次数f=subs(fun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});df=subs(dfun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});y0=x0-f/df;z=(x0+y0)/2;df2=subs(dfun(z),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});x=x0-f/df2;while max(abs(x0-x))>epsx0=x;f=subs(fun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});df=subs(dfun(x0),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});y0=x0-f/df;z=(x0+y0)/2;df2=subs(dfun(z),{'x1''x2''x3' },{x0(1) x0(2) x0(3)});x=x0-f/df2;n=n+1;if n>N%迭代次数限制breakendendnr=max(abs(x0-x))。

非线性方程数值解法-计算物理学

非线性方程数值解法-计算物理学

第四讲:(2)非线性方程数值解法在实际物理问题中,例如如何知道热平衡时的温度,力平衡时的力的大小等平衡量,需要求解平衡方程。

对于不能解析求解的代数方程就需要数值求解。

本讲只讨论单变量的代数方程()0f x = (4.2-1)为了求解满足方程的变量x ,即方程的根,有时需要用图示的方法大体了解解的位置。

下面介绍几种求方程(4.2.1)根的方法。

4.2.1二分法(Bisection Method )方程根附近的性质是()f x 要改变符号,一般来说,如果()f x 在区间[,]l u x x 是连续的实函数,并且()l f x 和()u f x 有相反的符号,即()()0l u f x f x ⋅< (4.2-2)那么在区间[,]l u x x 内至少有一个实根。

一般采用增量搜寻的方法来确定函数变号的间隔,例如[,]l u x x ;然后将这个间隔分成更小的许多子间隔来确定函数变号的位置(即根)。

怎样再细分间隔[,]l u x x ,通常采用的一种方法是对分区间套的方法,即二分法。

二分法求根步骤:① 通过满足条件()()0l u f x f x ⋅<,确定有根区间[,]l u x x② 估算根:()/2r l u x x x =+,如果100%new oldr r a newrx x eps x ε-=<, 那么new r x 为解 ③ 做下面的计算,确定根在那个子区间(a) 如果()()0l r f x f x ⋅<,那么根在区间[,]l r x x ,设u r x x =,返回到② (b)否那么()()0l r f x f x ⋅>,那么根在区间[,]r u x x ,设l r x x =,返回到②二分法求根示意图※================================================================※例题4.2-1用二分法计算方程2ln()0x e x x -=的在区间(1,2)的根。

(完整版)第六章非线性方程的数值解法习题解答

(完整版)第六章非线性方程的数值解法习题解答

第六章非线性方程的数值解法习题解答填空题:1. 求方程()x f x =根的牛顿迭代格式是__________________。

Ans :1()1()n n n n n x f x x x f x +-=-'-2.求解方程在(1, 2)内根的下列迭代法中,(1) (2)(3)(4)收敛的迭代法是(A ).A .(1)和(2)B 。

(2)和(3) C. (3)和(4) D. (4)和(1)3.若0)()(<b f a f ,则0)(=x f 在),(b a 内一定有根. ( )4.用二分法求方程01)(3=-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间为 ,进行两步后根的所在区间为 . (答案[0。

5,1], [0.5,0。

75])计算题:1、已知方程3210x x --=在 1.5x =附近有根,将方程写成以下三种不同的等价形式: ①211x x =+;②321x x =+11x x =-试判断以上三种格式迭代函数的收敛性,并选出一种较好的格式。

解:①令121()1x x ϕ=+,则'132()x x ϕ=-,'132(1.5)0.592611.5ϕ=≈<,故迭代收敛; ②令322()1x x ϕ=+则2'2322()(1)3x x x ϕ-=+,'2(1.5)0.45581ϕ≈<,故迭代收敛; ③令31()1x x ϕ=-,则'33()2(1)x x ϕ=-'3(1.5) 1.41421ϕ≈>,故迭代发散。

以上三中以第二种迭代格式较好。

2、设方程()0f x =有根,且'0()m f x M <≤≤。

试证明由迭代格式1()k k k x x f x λ+=-(0,1,2,)k =产生的迭代序列{}0k k x ∞=对任意的初值0(,)x ∈-∞+∞,当20Mλ<<时,均收敛于方程的根。

非线性代数方程组的数值解法

非线性代数方程组的数值解法

公式
a n (K T (a 0 )) 1Ψ(a n )
则只需对上式右端项中的 Ψ(a进n )行回代就行了。
这种方法称为修正的牛顿法。
2 牛顿法和修正牛顿法
(a) 100(a 0.1a 2 ) 90 0
an an 1 108
使用修正的牛顿法求解 非线性方程组,虽然 每一步迭代所花费的计 算时间减少了,但迭代 过程的收敛速度也降低 了。为了提高修正牛顿 法的收敛速度可采用某 些过量修正加速技术。
由相互垂直的条件可得
aim1
1i
1 i1 m
i 1 2
i 1 m
(umi ) (umi )T
T
iБайду номын сангаас1 1
i 1 2
im
4 增量弧长法
自修正法平衡迭代
综上所述,弧长法求解步骤为:
1)选定荷载参考值 R,和本步荷载因子 1m,解

a
1 m
,由
l 2
(1m
)2
(
1 1
)T
(
1 1
)求弧长。
2)修改切线刚度矩阵并三角化。检查对角元,
则 Δan≈-KT(an)-1 Pn , an+1=an+Δan 如此逐步计算,即可得到非线性方程的解答,
这就是牛顿-拉夫森法。
2 牛顿法和修正牛顿法
Δan≈-KT(an)-1 Pn , an+1=an+Δan
直至 Δan 满足收敛性
2 牛顿法和修正牛顿法
如果在迭代计算的每一步内,矩阵KT都用初始 近似解KT0计算,在这种情况下,仅第一步迭代 需要完全求解一个线性方程组,如果将KT0三角 分解并存储起来,而以后各步迭代中采用迭代
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章非线性方程的数值解法习题解答
填空题:
1. 求方程()x f x =根的牛顿迭代格式是__________________。

Ans:1()1()n n n n n x f x x x f x +-=-
'-
2.求解方程
在(1, 2)内根的下列迭代法中,
(1)
(2)
(3)
(4)
收敛的迭代法是(A ).
A .(1)和(2) B. (2)和(3) C. (3)和(4) D. (4)和(1)
3.若0)()(<b f a f ,则0)(=x f 在),(b a 内一定有根。

( )
4.用二分法求方程01)(3=-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间为 ,进行两步后根的所在区间为 . (答案[0.5,1], [0.5,0.75])
计算题:
1、已知方程3210x x --=在 1.5x =附近有根,将方程写成以下三种不同的等价形式: ①2
11x x =+
;②32
1x x =+11x x =
- 试判断以上三种格式迭代函数的收敛性,并选出一种较好的格式。

解:①令121()1x x ϕ=+
,则'132()x x ϕ=-,'
13
2(1.5)0.592611.5ϕ=≈<,故迭代收敛; ②令3
2
2()1x x ϕ=+2'
2
32
2()(1)3
x x x ϕ-=+,'2
(1.5)0.45581ϕ≈<,故迭代收敛; ③令31()1x x ϕ=
-'
33
()2(1)x x ϕ=-,'3
(1.5) 1.41421ϕ≈>,故迭代发散。

以上三中以第二种迭代格式较好。

2、设方程()0f x =有根,且'0()m f x M <≤≤。

试证明由迭代格式1()k k k x x f x λ+=- (0,1,2,)k =L 产生的迭代序列{}0k k x ∞
=对任意的初值0(,)x ∈-∞+∞,当2
0M
λ<<
时,均收敛于方程的根。

证明:设()()x x f x ϕλ=-,则''()1()x f x ϕλ=-,故'1()1M x m λϕλ-<<-,进而可知, 当2
0M
λ<<
时,'1()1x ϕ-<<,即'()1x ϕ<,从而由压缩映像定理可知结论成立。

3、试分别用Newton 法和割线法求以下方程的根
cos 0x x -= 取初值010.5,4
x x π
==
,比较计算结果。

解:Newton 法:1230.75522242,=0.73914166,=0.73908513x x x =; 割线法:23450.73638414,=0.73905814,=0.73908515,=0.73908513x x x x =; 比较可知Newton 法比割线法收敛速度稍快。

4. 已知一元方程02.133
=--x x 。

1)求方程的一个含正根的区间;
2)给出在有根区间收敛的简单迭代法公式(判断收敛性); 3)给出在有根区间的Newton 迭代法公式。

解:(1)08.1)2(,02.1)0(>=<-=f f 又内有一个正根连续故在)2,0()(x f
(2)
收敛
313
2)2,0(3
2
3
2.13,12
.11)(max ,)2.13()(,2.13+=∴<≤
''+=''+=+∈-n n x x x x x x x x φφ(3)3
32
.13,33)(2
31
2
----=-='+n n n n x x x x x x x f 5、用二分法求方程3
()1f x x x =--在区间[1,1.5]内的根时,若要求精确到小数点后二位,(1) 需要二分几次;(2)给出满足要求的近似根。

解:6次;*
1.32x ≈。

6.为求方程010 1.5x x x --==在 附近的一个根,设将方程改写成下列等价形式,并建立相应的迭代公式。

4) 2
1
1,x x =+迭代公式2111;k k
x x +=+
5) 1,x x =+迭代公式
1k x +=
6) 2
1
,1
x x =
-
1=
试分析每种迭代公式的收敛性。

解: 1.4 1.41 1.5 1.510.1250--=--=>Q ∴为有根区间。

2'33122
1)11/()0.7311.4
k x x x x x ϕϕ+=+=-
≤≈<∴=迭代公式
2
2
32
'
233112 1.5
2)1(()12/(1 1.0)0.631
33k x x
x x x x ϕϕ+⨯=+=+⨯≤+≈<∴=-()迭代公式3
32
2'2
11
1(1.51)
3)(()(1)
1.41
12
2
k x x x x x ϕϕ--+-=
=--≥
≈>-∴=
迭代公式
7、已知x x ϕ=内只有一根,而当<<时,'()1,x k ϕ≥>试问如
何将x x ϕ=
将=化为适于迭代的形式,并求x =
(弧度)附近的根。

1'''1''11111
(())()1
() (()) 1.
()
(()
()(0,1,) k k k k
x x x x x x x x x x k x arctgx
x arctgx ϕϕϕϕϕϕϕϕππ--++=
=<=⇒
====+⇒
=+L --解:由反函数微分法则有 故当将则迭代法是收敛的。

对 用搜索法知在(5)0 4.45 4.49341x x ==内有根,取迭代,。

8、能不能用迭代法求解下列方程,如果不能时,试将方程改写成能用迭代法求解的形式。

(1)x x x
=
+ (2)x
x =-
解: (1) x x x
ϕ=
+对所有的x 有
'sin cos 21
()1
442x x x ϕ-+=
≤=<
故能用迭代法求根。

(2)方程为x
x -+=
设x
f x x =-+则f
f <>
故有根区间为
[1,2]。

由'()42,()2ln 22ln 2 1.368291,x x
x x ϕϕ=-=->≈>故不能用42k x k x +
=-来迭
代。

将原方程改写为x x
=
-此时,x x
ϕ=
-
'11111
()14ln 242ln 22ln 2x x ϕ-=
⋅<⋅=<--,
故可用迭代公式
1ln(4)
ln 2k k x x +-=
来求解。

9.用牛顿(切线)法求3的近似值。

取x 0=1.7, 计算三次,保留五位小数。

解:3是
03)(2
=-=x x f 的正根,x x f 2)(=',牛顿迭代公式为 n n n n x x x x 232
1
--=+, 即
),2,1,0(2321
Λ=+=+n x x x n n n
取x 0=1.7, 列表如下:
10.给定方程01e )1()(=--=x
x x f
1) 分析该方程存在几个根;
2) 用迭代法求出这些根,精确到5位有效数字; 3) 说明所用的迭代格式是收敛的。

解:1)将方程 01e )1(=--x
x (1)
改写为
x
x -=-e 1 (2)
作函数1)(1-=x x f ,x
x f -=e )(2的图形(略)知(2)有唯一根)2,1(*∈x 。

2) 将方程(2)改写为 x
x -+=e 1
构造迭代格式 ⎩⎨⎧=+=-+5
.1e 10
1x x k
x k
),2,1,0(Λ=k
计算结果列表如下:
3) x x -+=e 1)(ϕ,x
x --='e )(ϕ
当]2,1[∈x 时,]2,1[)]1(),2([)(⊂∈ϕϕϕx ,且
1e |)(|1<≤'-x ϕ
所以迭代格式 ),2,1,0()(1Λ==+k x x k k ϕ对任意]2,1[0∈x 均收敛。

如有侵权请联系告知删除,感谢你们的配合!。

相关文档
最新文档