工程数值分析总结报告
《工程数值分析》总结报告
题 目: 分 院: 班 级: 姓 名: 学 号: 完成日期:
二○一二年十一月制
1、非线性方程求根
1.1 二分法的原理和算法 1.1.1二分法的原理
将函数f(x)用二分区间的方法解方程f(x)=0是一种用无限逼近的数学思想,去解方程,它的依据是:如果函数y=f(x)在闭区间[a,b]上连续,且已知函数在两端点的函数f (a )与f (b )取异号,即两端点函数值的乘积f(a)*f(b)
1.1.2二分法的算法
(1)计算f(x)在有解区间[a, b]端点处的值。 (2)计算f (x ) 在区间中点处的值f (x 1) 。 (3)判断若f (x 1) =0, 则x 1即是根,否则检验:
①若f (x 1) 与f (a ) 异号,则知道解位于区间[a , x 1],
b 1=x 1, a 1=a
②若f (x 1) 与f (a ) 同号,则知道解位于区间,[x 1, b ],
a 1=x 1, b 1=b
反复执行步骤2、3,便可得到一系列有根区间:
(a , b ), (a 1, b 1),... (a k , b k )
(4)当
b k +1-a k +1
,则
x k +1=
1
(a k +b k ) 2即为根的近似值
1.2不动点迭代法的原理和算法,并分析不同迭代格式的收敛性
1.2.1不动点迭代法的原理和算法
将非线性方程f (x) =0化为一个同解方程x =φ(x ) ,并假设φ(x ) 为连续函数。 任取一个初值x 0,代入方程的右端,得x 1继续 x 2
=φ(x 0)
2 =φ(x 1) ——○
……
3 x k +1=φ(x k ) (k =0,1,2, ) ——○3式为求解非线性方程○2的简单迭代法 称○
称φ(x ) 为迭代函数,称x k 为第k 步迭代值 如果存在一点x ,使得迭代序列{x k }满足lim k →∞
x k =x *
3收敛,否则称为发散。 则称迭代法○
1.2.2分析不同迭代格式的收敛性
定理1:设迭代函数ϕ(x ) 在[a,b]上连续,且满足 (1当
x ∈⎡⎣a , b ⎤⎦时,a ≤ϕ(x ) ≤b
∀x ∈⎡⎣a , b ⎤⎦,有ϕ'(x ≤L
存在一正数L ,满足0
x =ϕ(x ) 在[a , b ]内有唯一解x
x 0∈⎡⎣a , b ⎤⎦,迭代法x k +1=ϕ(x ) 均收敛于x
2)对于任意初值 3)x k -x ≤
L
1-L
x k -x k -1
4)
x k -x ≤
L k
1-L
x 1-x 0
定理2:若x 是ϕ的不动点,ϕ' 在x 的某领域上存在且连续,并满足
0≠ϕ'(x
=ϕ(x k ) 在x 的领域是线性收敛的
1.3 Newton迭代法的原理和算法
设已知方程f (x ) =0的近似根x 0, 则在x 0附近f (x ) 可用一阶泰勒多项式
p (x ) =f (x 0) +f ' (x 0)(x -x 0) 近似代替. 因此, 方程f (x ) =0可近似地表示为p (x ) =0. 用x 1表示p (x ) =0的根, 它与f (x ) =0的根差异不大.
设f ' (x 0) ≠0, 由于x 1满足f (x 0) +f ' (x 0)(x 1-x 0) =0, 解得
f (x 0)
x 1=x 0-
f ' (x 0)
重复这一过程, 得到迭代格式
f (x n )
x n +1=x n -
f ' (x n )
这就是著名的牛顿迭代公式, 它相应的不动点方程为
f (x )
g (x ) =x -.
f ' (x )
计算可得g ' (x ) =-
f (x ) f " (x )
, 设x *是f (x ) =0的单根, 有f (x *) =0, f ' (x *) ≠0, 则 2
[f ' (x )]
**f (x ) f " (x ) *
g ' (x ) =-=0, *2
[f ' (x )]
故在x *附近, 有g ' (x )
2、线性方程组的数值解
2.1 线性方程组的数值求解的原理和算法 2.1.1设线性方程组的数值求解的原理
Ax =b (1)
的系数矩阵A 可逆且主对角元素
a 11, a 22,..., a nn 均不为零, 令
D =diag (a 11, a 22,..., a nn
并将A 分解成
)
A =(A -D )+D (2)
从而(1)可写成
Dx =(D -A )x +b
令
x =B 1x +f 1
其中
B 1=I -D -1A , f 1=D -1b . (3)
以B 1为迭代矩阵的迭代法(公式)
x (k +1)=B 1x (k )+f 1(4)
称为雅克比(Jacobi)迭代法(公式), 用向量的分量来表示,(4)为
⎧⎨⎩
其中
x
(k +1) i
1=a ii
[b
i
-∑a i j x (j k )
j =1j ≠i
n
]
i =1, 2,... n ,
0n
T
k =0, 1, 2,... (5)
x
(0)
=(x (), x (),... x ())
01
02
为初始向量.
2.1.2算法描述
1给定迭代初始向量X 0以及误差要求delta 2根据雅克比迭代公式计算出下一组向量
3判断X 是否满足误差要求,即||Xk+1 – Xk ||
4若误差满足要求,则停止迭代返回结果;若否,则返回第二步进行下一轮迭代
3、数据插值
3.1 Lagrange插值的原理和算法 根据线性空间的理论
所有次数不超过n 的多项式构成的线性空间是n+1维的
这个n+1维线性空间的基底也由n+1个多项式组成,并且形式不是唯一的 而任意一个n 次多项式可由基底线性表示,且在不同的基底下有不同的形式 设φ0(x ), φ1(x ), , φn (x ) 为上述n+1维线性空间的一个基底 显然φ0(x ), φ1(x ), , φn (x ) 线性无关
且任意n 次多项式P n (x ) 可由φ0(x ), φ1(x ), , φn (x ) 线性表示
P n (x ) =a 0φ0(x ) +a 1φ1(x ) + +a n φn (x )
如果P n (x ) 为某个函数f (x ) 的插值函数 则称φ0(x ), φ1(x ), , φn (x ) 为插值基函数 且满足 P n (x i ) =y i
i =0,1,2, , n
其中 x i , i =0,1,2, , n 为插值节点
y i =f (x i )
i =0,1,2, , n
如果a ≤x 0
l j (x ) =
(x -x 0)(x -x 1) (x -x j -1)(x -x j +1) (x -x n ) (x j -x 0)(x j -x 1) (x j -x j -1)(x j -x j +1) (x j -x n )
=
(x -x i ) ∏i =0(x j -x i )
n i ≠j
j =0,1,2, , n
令ωn +1(x )
=(x -x 0)(x -x 1) (x -x n )
'+1(x j ) =(x j -x 0)(x j -x 1) (x j -x j -1)(x j -x j +1) (x j -x n ) 则ωn
从而l j (x ) =
(x -x 0)(x -x 1) (x -x j -1)(x -x j +1) (x -x n ) (x j -x 0)(x j -x 1) (x j -x j -1)(x j -x j +1) (x j -x n )
ωn +1(x )
j =0,1,2, , n =
'+1(x j )(x -x j ) ωn
显然l 0(x ), l 1(x ), l 2(x ), , l n (x ) 线性无关
⎧1i =j
i , j =0,1,2, , n 且l j (x i ) =⎨
⎩0i ≠j
如果用l 0(x ), l 1(x ), l 2(x ), , l n (x ) 作y 而P n (x ) 为f (x ) 的插值多项式,则
=f (x ) 的插值基函数
P n (x ) =a 0l 0(x ) +a 1l 1(x ) + +a n l n (x )
其中a 0a 1
a n 为待定参数
f (x i ) =y i
y i
令P n (x i ) =
n
i =0,1,2, , n
i =0,1,2, , n
即
a j l j (x i ) =∑j
=0
⎧1i =j
i , j =0,1,2, , n 可得由l j (x i ) =⎨
⎩0i ≠j
a i =y i
i =0,1,2, , n
于是y =f (x ) 在节点x i (i =0,1, , n ) 上,以l j (x )(i =0,1, , n ) 为插值基函数的插值多
4 项式(记为L n (x ) )为L n (x ) =y 0l 0(x ) +y 1l 1(x ) + +y n l n (x ) ○
(x -x i ) ωn +1(x )
=5 其中l j (x ) =∏○'+1(x j )(x -x j ) ωn i =0(x j -x i )
n i ≠j
4式L n (x ) 为y =f (x ) 的Lagrange 插值多项式 称○
称l j (x ) (i =0,1,2, , n )为n 次Lagrange 插值基函数
3.2 Newton插值的原理和算法
f (x i ) -f (x j )
=f ⎡x i , x j ⎤一般的,一阶差商⎣⎦x i -x j
f ⎡⎣x 0, x 1⎤⎦-f ⎡⎣x 1, x 2⎤⎦=f ⎡x , x , x ⎤
⎣012⎦x -x 02二阶差商是一阶差商的差商
f ⎡⎣x i , x j ⎤⎦-f ⎡⎣x j , x k ⎤⎦=f ⎡x , x , x ⎤
一般的,二阶差商⎣i j k ⎦ x i -x k
f ⎡ x n -1⎤ x n ⎤⎣x 0, x 1, ⎦-f ⎡⎣x 1, x 2, ⎦=f ⎡x , x , x n -1, x n ⎤n 阶差商为:12⎣⎦
x 0-x n
而n 阶差商f
⎡ x n ⎤⎣x 0, x 1, ⎦可以表示为函数值f (x j )(j =0,1,2,..., n )
f (x j )
的线性组合, 即f
⎡ x n ⎤⎣x 0, x 1, ⎦=
j =0
∑W x ,其中
j
f ⎡ x n ⎤⎣x 0, x 1, ⎦。
n
W (x j )=(x -x 0)(x -x 1)... (x -x n )
x in ⎤且差商与节点排列顺序无关,即f ⎡⎣x i 0, x i 1, ⎦=
其中,0, 1,..., n 是0,1,…,n 的任意一种排列
i i i
x k ⎤若f ⎡则f ⎣x , x 0, x 1, ⎦是x 的m 次多项式,
次多项式。
⎡ x k , x k +1⎤⎣x , x 0, x 1, ⎦是x 的m-1
x n 上有因而,一般的,在节点x 0, x 1, x 2,
f (x )=f (x 0)+(x -x 0) f ⎡f ⎡⎣x 0, x 1⎤⎦+(x -x 0)(x -x 1) ⎣x 0, x 1, x 2⎤⎦
+... +(x -x 0)(x -x 1)...(x -x n -1) f ⎡⎣x 0, x 1,..., x n -1⎤⎦+(x -x 0)(x -x 1)...(x -x n -1)(x -x n ) f ⎡⎣x , x 0, x 1,..., x n ⎤⎦
=N n (x ) +R n (x )
其中N n (x ) 、R n (x ) 分别为f (x ) 在节点
{x }
n
i 0
上的Newton 插值公式和余项。
具体算法如下: (1) 输入:i , j
x f
(2) i
z =f j (i =0,1,2,..., n )
(z j -z j -1) (x j -x j -1)
(3) 计算差商,对i =0,1,2,..., n 做
对j =i , i +1,..., n 做f j =(4) 计算插值N (u )
1)输入插值u 2)V=0
3)对i =n , n -1,...,0做v =v (u -(5)输出u,v
x i ) +f i
4、数据拟合
4.1数据拟合的最小二乘法的原理和算法 4.1.1最小二乘法的原理:
当由实验提供了大量数据时, 不能要求拟合函数φ(x ) 在数据点(x i , y ) 处的
i
偏差, 即δi =φ(x i ) -
y
i
(i=1,2,…,m) 严格为零, 但为了使近似曲线尽量
反映所给数据点的变化趋势 ,需对偏差有所要求. 通常要求偏差平方和
|δi |=∑(φ(x i ) -y i ) 最小 ∑i i
2
=1
=1
m m
2
4.1.2最小二乘法的算法:
数据拟合的具体作法是:对给定数据 (x i , y ) (i=0,1,…,m) ,在取定的函数
i
类Φ中, 求
m
p (x ) =∑a k x k ∈Φ, 使误差
k =0
n
2
I =∑[p n (x i ) -y i ]
i =0
⎛⎫k
=∑ ∑a k x i -y i ⎪=min ○6i =0⎝k =0⎭
m m
2
当拟合函数为多项式时,称为多项式拟合,满足式(1)的p n (x ) 称为最小二乘拟合
⎛⎫k
多项式。特别地,当n=1时,称为线性拟合或直线拟合。I =∑ ∑a k x i -y i ⎪
i =0⎝k =0⎭
元函数求极值的必要条件,得
m
∂I ⎛n ⎫j k
=2∑ ∑a k x i -y i ⎪x i =0j=0,1,…,n ○7 ∂a j i =0⎝k =0⎭m
⎛m j +k ⎫j
x a =x 8 即∑ ∑i ⎪k ∑i y i j=0,1,…,n ○k =0⎝i =0i =0⎭
n
m n
2
为a 0, a 1, a n 的多元函数,因此上述问题即为求I =I (a 0, a 1, a n ) 的极值 问题。由多
关于a 0, a 1, a n 的线性方程组,用矩阵表示为
⎛ n n
∑x i i =1 n
x m ∑i ⎝i =1
∑x
i =1n i =1
n
i
2x ∑i
m +1x ∑i i =1n
⎫⎛n ⎫
∑x ⎪y ∑i ⎪
i =1
⎪⎛a 0⎫ i =1⎪n n
⎪⎪ m +1⎪ ∑x i ⎪ a 1⎪ ∑x i y i ⎪
i =1⎪ ⎪= i =1⎪9 ⎪ ⎪ ⎪○
⎪⎝a m ⎭ n ⎪n
x m y ⎪ ∑x i 2m ⎪⎪ ∑i i ⎪
i =1⎭⎝i =1⎭
m
i
n
⎛1 x 0 Φ= 令
m ⎝x 0
1x 1 x 1m
1⎫⎛y 0⎫⎪ ⎪ x n ⎪y 1⎪ y =⎪ ⎪
⎪m ⎪ x n ⎭⎝y n ⎭
⎛n ⎫
y ∑i ⎪ i =1⎪n ⎪
x y ∑i i ⎪T Φy = i =1⎪ 则方程系数矩阵为:ΦΦ 常数项为:
⎪ n ⎪ x m y ⎪ ∑i i ⎪⎝i =1⎭
5、运用以上一种或多种数值方法分析一个实际工程问题
测得铜导线在温度T i (℃) 时的电阻R i (Ω) 如表6-1,求电阻R 与温度 T的近似函数关系。
可见测得的数据接近一条直线,故取n=1,拟合函数为
R =a 0+a 1T
245. 3⎤⎡a 0⎤⎡565. 5⎤⎡7
⎢245. 39325⎥⎢a ⎥=⎢20029. 83. 445⎥⎣⎦⎣1⎦⎣⎦
解方程组得
a 0=70. 572,
故得R 与T 的拟合直线为
a 1=0. 921
R =70. 572+0. 921T
利用上述关系式,可以预测不同温度时铜导线的电阻值。例如,由R=0得T=-242.5,即预测温度 T=-242.5℃时,铜导线无电阻。