北航数值分析大作业3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、算法设计方案

1.使用牛顿迭代法,对原题中给出的i x i 08.0=,j y j 05.05.0+=,

(010

,020i j ≤≤≤≤)的11*21组j i y x ,分别求出原题中方程组的一组解,于是得到一组和i i y x ,对应的j i t u ,。

2.对于已求出的j i t u ,,使用分片二次代数插值法对原题中关于u t z ,,的数表进行插值得到

ij z 。于是产生了z=f(x,y)的11*21个数值解。

3.从k=1开始逐渐增大k 的值,并使用最小二乘法曲面拟合法对z=f(x,y)进行拟合,得到每次的σ,k 。当7

10-<σ时结束计算,输出拟合结果。

4.计算)5,,2,1,8,,2,1)(,(),,(*

***⋅⋅⋅=⋅⋅⋅=j i y x p y x f j i j i 的值并输出结果,以观察),(y x p 逼近),(y x f 的效果。其中j y i x j i 2.05.0,1.0*

*+==。

二、算法实现方案 1、求(,)f x y :

(1)Newton 法解非线性方程组

0.5cos 2.670.5sin 1.07(1)0.5cos 3.740.5sin 0.79

t u v w x t u v w y t u v w x t u v w y +++-=⎧⎪+++-=⎪

+++-=⎪⎪+++-=⎩, 其中,t, u, v ,w 为待求的未知量,x, y 为代入的已知量。

设(,,,)T t u v w ξ=,给定精度水平12110ε-=和最大迭代次数M ,则解该线性方程组的迭代格式为:

*(0)(0)(0)(0)(0)(k+1)

()()1()(,,,)()()0,1,T k k k t u v w F F k ξξξ

ξξξ-⎧=⎪'=-⎨⎪=

在附近选取初值, 迭代终止条件为()(1)

()

1/k k k ξξ

ξε-∞

-≤,若k M >时仍未达到迭代精度,则迭代计算失

败。

其中,雅可比矩阵

0.5*cos(t) + u + v + w - x - 2.67t + 0.5*sin(u) + v + w - y - 1.07()0.5*t + u + cos(v) + w - x - 3.74t + 0.5*u + v + sin(w) - y - 0.79F ξ⎡⎤⎢⎥

⎥=⎢⎥⎢⎥⎣⎦

0.5*sin()

11110.5*cos()11()0.51sin()110.51cos()t u F v w ξ-⎡⎤⎢⎥⎢⎥'=⎢⎥-⎢⎥

⎣⎦

, (2)分片双二次插值:

根据题目给出的表格,

(0,1,,5)(0,1,

,5)

i i t ih i u j j τ= == =(其中,0.2h τ= =0.4,

) 对于给定的(,)t u ,如果(,)t u 满足

,322

,322

i i j j h h

t t t i u u u j τ

τ

-

<≤+ 2≤≤-

<≤+ 2≤≤

则选择(,)(1,,1;1,,1)k r t u k i i i r j j j =-+=-+为插值节点,相应的插值多项式为

1

111

(,)()()(,)j i k

r

k

r

k i r j h t u l t l u g t u ++=-=-=

(2) ∑∑

其中,

1

11

1()(1,,1)()(1,,1)i m

k m i k m

m k

j n

r n j r n

n r

t t l t k i i i t t u u l u r j j j u u +=-≠+=-≠-= =-+--=

=-+-∏∏

如果1422h h t t t t ≤+

>+或,则在式(2)中取i=1或i=4; 如果1422

u u u ττ

≤+>+或u ,则在式(2)中取u=1或u=4。

在区域{(,)|00.8,0.5 1.5}D x y x y =≤≤≤≤上,将

(,)i j x y (0.08,i x i =i=0,1,…,10;j y =0.5+0.2j,j=0,1,…20)代入到非线性方程组(1)中,用

Newton 法解出,,(,)i j i j t u ,再由分片双二次插值得,,,(,)i j i j i j z h t u =,则有,(,)i j i j z f x y =(i=0,1,…,10;j=0,1,…,20),即求出了(,)z f x y =。 2、求(,)p x y :

乘积型最小二乘拟合曲面:

(1)求系数矩阵C :

11()()T T T C B B B UG G G --=

其中,

2

00021

112101010111k k k x x x x x x B x x x ⎡⎤⎢

⎥⎢

=⎢⎥⎢

⎥⎢⎥⎣⎦ 200021

112

20

2020111k k k y y y y y y G y x y ⎡⎤

⎥⎢

=⎢⎥⎢⎥⎢⎥⎣⎦

0,0

0,10,201,0

1,11,20,10,0

10,1

10,20,(,)(0,1,

,10;0,1,,20)i j i j

z z z z z z U z f x y i j z z z ⎡⎤⎢⎥⎢

⎥== ==⎢⎥⎢⎥⎣⎦

计算中涉及到对矩阵求逆,接着在后面将会具体说明列主元的高斯消去法求矩阵的逆的方法。

(2)确定最小的k 值,拟合曲面:

,0

(,)k

r s rs

r s p x y c

x y ==

设10

20

200

((,)(,))i j i j i j f x y p x y σ

===-∑∑,给定精度水平7210ε-=和最大迭代次数N ,

则确定最小k 值的迭代格式为:

(),0

1020

()()2

00(,)(0,1,,10;0,1,

,20)

((,)(,))

0,1,2,k

k r s

i j rs i j r s k k i j i j i j p x y c x y i j f x y p x y k σ===⎧= ==⎪⎪

⎪=-⎨⎪

⎪=⎪⎩

∑∑

迭代终止条件为()

2k σ

ε≤,若k N >时仍未达到迭代精度,则迭代计算失败。

待确定满足精度条件的最小k 值后,就可以进行曲面拟合计算了。 3、关于列主元的高斯消去法求矩阵的逆:

设非奇异矩阵n n A C ⨯∈,且1

B A -= ,则

AB I =,

对B 和I 列分块,有

相关文档
最新文档