北航数值分析历年试题整理
北航数值分析大作业 第一题 幂法与反幂法
数 值 分 析(B ) 大 作 业(一)姓名: 学号: 电话:1、算法设计:①求1λ、501λ和s λ的值:s λ:s λ表示矩阵的按模最小特征值,为求得s λ直接对待求矩阵A 应用反幂法即可。
1λ、501λ:若矩阵A 的特征值满足关系 1n λλ<<且1n λλ≠,要求1λ、及501λ时,可按如下方法求解: a . 对矩阵A 用幂法,求得按模最大的特征值1m λ。
b . 按平移量1m λ对矩阵A 进行原点平移得矩阵1m BA I λ=+,对矩阵B 用反幂法求得B 的按模最小特征值2m λ。
c . 321m m m λλλ=-则:113min(,)m m λλλ=,13max(,)n m m λλλ=即为所求。
②求和A 的与数5011140k k λλμλ-=+最接近的特征值ik λ(k=0,1,…39):求矩阵A 的特征值中与P 最接近的特征值的大小,采用原点平移的方法:先求矩阵 B=A-PI 对应的按模最小特征值k β,则k β+P 即为矩阵A 与P 最接近的特征值。
在本次计算实习中则是先求平移矩阵k B A I μ=-,对该矩阵应用反幂法求得s λ,则与k μ最接近的A 的特征值为:s P λ+重复以上过程39次即可求得ik λ(k=0,1,…39)的值。
③求A 的(谱范数)条件数2cond()A 和行列式det A :在(1)中用反幂法求矩阵A 的按模最小特征值时,要用到Doolittle 分解方法,在Doolittle 分解完成后得到的两个矩阵分别为L 和U ,则A 的行列式可由U 阵求出,即:det(A)=det(U)。
求得det(A)不为0,因此A 为非奇异的实对称矩阵,则: max 2()scond A λλ=,max λ和s λ分别为模最大特征值与模最小特征值。
2、程序源代码:#include "Stdio.h"#include "Conio.h"#include "math.h"//****************************************************************************// // 在存储带状矩阵时,下面的几个量在程序中反复用到,为方便编程故把它们定义成宏.// // M :转换后的矩阵的行数,M=R+S+1。
北航数值分析实习题目第一题
《数值分析B》大作业一ZY1515105 樊雪松一.算法设计方案:1.矩阵A的存储与检索将带状线性矩阵A[501][501]转存为一个矩阵MatrixC[5][501] 。
在数组MatrixC[5][501]中检索A的带内元素a ij的方法是:A的带内元素a ij=C中的元素c i-j+2,j。
2.求解λ1,λ501,λs1、首先分别使用幂法和反幂法迭代求出矩阵按摸最大和最小的特征值λmax和λmin。
λmin即为λs;如果λ max>0,则λ501=λmax;如果λmax<0,则λ1=λmax。
2、使用带原点平移的幂法(mifa()函数),令平移量p=λmax,求出对应的按摸最大的特征值λ’max,如果λ max>0,则λ1=λ’max+p;如果λmax<0,则λ501=λ’max+p。
3、求解A的与数μk=λ1+k(λ501-λ1)/40 的最接近的特征值λik (k=1,2,…,39)。
使用带原点平移的反幂法,令平移量p=μk,即可求出与μk最接近的特征值λ ik。
4、求解A的(谱范数)条件数cond(A)2和行列式detA。
cond(A)2=|λ1/λn|,其中λ1和λn分别是矩阵A的模最大和最小特征值。
求解矩阵A的行列式,可先对矩阵A进行LU分解后,detA等于U所有对角线上元素的乘积。
二.源程序#include<stdio.h>#include<math.h>#include<conio.h>//定义A中元素double C[5][501];double a[501];double b;double c;//声明所有函数void YaSuoJZ(double C[5][501],double a[501],double b,double c) ;//压缩矩阵函数double mifa(double C[5][501]); //幂法函数void daizhuangLU(double A[5][501]); //带状矩阵的LU分解double fanmifa(double C[5][501]);//反幂法函数//最值函数int max2(int x,int y);int max3(int x,int y,int z);int min(int x,int y);//最值函数int max2(int x,int y) //求2个数的最大值{int z;z=x>y?x:y;return(z);}int max3(int x,int y,int z) //求3个数的最大值{int w;w = z > max2(x,y)? z:max2(x,y);return(w);}int min(int x,int y) //求2个数的最小值{int z;z=x>y?y:x;return(z);}//将矩阵A压缩存储在矩阵C中void YaSuoJZ(double C[5][501],double a[501],double b,double c) {int i;for(i=0;i<=500;i++){if(i>=2) C[0][i]=c;else C[0][i]=0;if(i>=1) C[1][i]=b;else C[1][i]=0;if(i<=499) C[3][i]=b;else C[3][i]=0;if(i<=498) C[4][i]=c;else C[4][i]=0;C[2][i]=a[i];}}//幂法函数:用幂法求矩阵模最大的特征值double mifa(double C[5][501]){double u[501];double y[501]={0},η=0;double β,βk=0;double ε=1;// ε为精度double sumu=0,sumAY=0;int i,j,k=1; //k为循环次数for (i=0;i<=500;i++) //取任一非零向量u0u[i] = 1.0;while(ε>=1e-12){for(i=0;i<=500;i++) //求u(k-1)的2范数ηsumu=sumu+u[i]*u[i];η=sqrt(sumu);sumu=0;for(i=0;i<=500;i++) //求y(k-1)y[i]=u[i]/η;for(i=0;i<=500;i++) //求u(k)的各分量u[i]{for(j=max2(0,i-2);j<=min(i+2,500);j++)sumAY=sumAY+C[i-j+2][j]*y[j];u[i]=sumAY;sumAY=0;}//求幂法中的βkβ=βk; //将β(k-1)放在β中βk=0;for(i=0;i<=500;i++) //求βkβk=βk+y[i]*u[i];if(k>=2)ε=fabs(βk-β)/fabs(βk);k++;}return(βk);}//带状矩阵的LU分解void daizhuangLU(double A[5][501]){int i,j,k,m,t;double sumukj=0,sumlik=0;for(k=0;k<=500;k++){for(j=k;j<=min(k+2,500);j++) //求ukj并存在A[k-j+2][j]中{for(t=max3(0,k-2,j-2);t<=k-1;t++)sumukj=sumukj+A[k-t+2][t]*A[t-j+2][j];A[k-j+2][j]=A[k-j+2][j]-sumukj;sumukj=0;}if(k<500)for(i=k+1;i<=min(k+2,500);i++) //求lik并存在A[i-k+2][k]中{for(m=max3(0,i-2,k-2);m<=k-1;m++)sumlik=sumlik+A[i-m+2][m]*A[m-k+2][k];A[i-k+2][k]=(A[i-k+2][k]-sumlik)/A[2][k];sumlik=0;}}}//反幂法函数:用反幂法求矩阵的模最小的特征值double fanmifa(double M[5][501]){double u[501];double y[501]={0},x[501],η=0;double fβ,fβk=0;double ε=1;double fsumu=0,sumLX=0,sumUu=0;int i,t,m,k=1;for(i=0;i<=500;i++) //任取一非零向量u0u[i]=1;daizhuangLU(M); //对A进行LU分解A=LU,Au(k)=y(k-1)等价于Uu(k)=x和Lx=y(k-1) while(ε>=1e-12){for(i=0;i<=500;i++) //求u(k-1)的2范数ηfsumu=fsumu+u[i]*u[i];η=sqrt(fsumu);fsumu=0;for(i=0;i<=500;i++) //求y(k-1)y[i]=u[i]/η;for(i=0;i<=500;i++) //求中间向量xx[i]=y[i];for(i=1;i<=500;i++){for(t=max2(0,i-2);t<=i-1;t++)sumLX=sumLX+M[i-t+2][t]*x[t];x[i]=x[i]-sumLX;sumLX=0;}u[500]=x[500]/C[2][500]; //求u(k)的各分量u[i]for(i=499;i>=0;i--){for(m=i+1;m<=min(i+2,500);m++)sumUu=sumUu+M[i-m+2][m]*u[m];u[i]=(x[i]-sumUu)/M[2][i];sumUu=0;}//求反幂法中的βkfβ=fβk; //将fβ(k-1)放在fβ中fβk=0;for(i=0;i<=500;i++) //求fβkfβk=fβk+y[i]*u[i];if(k>=2)ε=fabs(1/fβk-1/fβ)/fabs(1/fβk);k++;}return(1/fβk);}//主函数void main(){int i,j,k;double λ1,λ501,λm,λm1,λm2,λs,λ,p;double cond,detA=1;for(i=1;i<=501;i++)a[i-1]=(1.64-0.024*i)*sin(0.2*i)-0.64*exp(0.1/i);b=0.16;c=-0.064;YaSuoJZ(C,a,b, c); //将矩阵A中元素压缩存储在C中λm1=mifa(C); //对A用幂法求出模最大的特征值λm1λs=fanmifa(C); //对A用反幂法求出模最小的特征值λsYaSuoJZ(C,a,b, c); //还原矩阵A中元素并压缩存储在C中for(j=0;j<=500;j++) //对A进行平移,平移量为λm1,平移后矩阵元素压缩存储在C中C[2][j]=C[2][j]-λ?m1;λm=mifa(C);λm2=λm1+λm; //λm1与λm2是矩阵的最大最小特征值if(λm1>λm2) //判断A最大最小特征值{λ501=λm1;λ1=λm2;}else{λ501=λm2;λ1=λm1;}printf("数值分析计算实习第一题\n\n ZY1515105 樊雪松\n\n (1)A的最大最小以及模最小的特征值\n");printf("A的最小特征值λ1=%.13e\n",λ1);printf("A的最大特征值λ501=%.13e\n",λ501);printf("A的模最小特征值λs=%.13e\n",λs);printf("\n(2)与数μk最接近的特征值\n");printf("\t要求接近的值\t\t\t实际求得的特征值\n");YaSuoJZ(C,a,b, c); //还原矩阵A中元素并压缩存储在C中for(k=1;k<=39;k++){p=λ1+k*(λ501-λ1)/40;for(j=0;j<=501;j++)C[2][j]=C[2][j]-p;λ=fanmifa(C)+p;printf("μ%d=%.13e λ%d=%.13e\n",k,p,k,λ);YaSuoJZ(C,a,b, c); //还原矩阵A中元素并压缩存储在C中}printf("\n(3)计算A的条件数cond(A)和行列式detA\n");cond=λm1/λs;daizhuangLU(C);for(j=0;j<=500;j++)detA=detA*C[2][j];printf("A的条件数cond(A)=%.13e\n",cond);printf("A的行列式detA=%.13e\n",detA);getch();}三、运行结果数值分析计算实习第一题ZY1515105 樊雪松(1)A的最大最小以及模最小的特征值A的最小特征值λ1=-1.0700113615018e+001A的最大特征值λ501=9.7246340987773e+000A的模最小特征值λs=-5.5579107942295e-003(2)与数μk最接近的特征值要求接近的值实际求得的特征值μ1=-1.0189494922173e+001 λ1=-1.0182934033146e+001 μ2=-9.6788762293280e+000 λ2=-9.5857074250676e+000 μ3=-9.1682575364831e+000 λ3=-9.1726724239280e+000 μ4=-8.6576388436383e+000 λ4=-8.6522840078976e+000 μ5=-8.1470201507934e+000 λ5=-8.0934838086753e+000 μ6=-7.6364014579485e+000 λ6=-7.6594054076924e+000 μ7=-7.1257827651036e+000 λ7=-7.1196846486912e+000 μ8=-6.6151640722588e+000 λ8=-6.6117643393973e+000 μ9=-6.1045453794139e+000 λ9=-6.0661032265951e+000 μ10=-5.5939266865690e+000 λ10=-5.5851010526284e+000 μ11=-5.0833079937241e+000 λ11=-5.1140835298122e+000 μ12=-4.5726893008792e+000 λ12=-4.5788721768651e+000 μ13=-4.0620706080344e+000 λ13=-4.0964709262599e+000 μ14=-3.5514519151895e+000 λ14=-3.5542112157508e+000 μ15=-3.0408332223446e+000 λ15=-3.0410900181333e+000 μ16=-2.5302145294997e+000 λ16=-2.5339703111304e+000 μ17=-2.0195958366549e+000 λ17=-2.0032307695635e+000μ18=-1.5089771438100e+000 λ18=-1.5035576112274e+000μ19=-9.9835845096511e-001 λ19=-9.9355860600754e-001μ20=-4.8773975812023e-001 λ20=-4.8704267388496e-001μ21=2.2878934724645e-002 λ21=2.2317362495748e -002μ22=5.3349762756952e-001 λ22=5.3241747420686e -001μ23=1.0441163204144e+000 λ23=1.0528989626935e+000μ24=1.5547350132593e+000 λ24=1.5894458818809e+000μ25=2.0653537061042e+000 λ25=2.0603304602743e+000μ26=2.5759723989490e+000 λ26=2.5580755970728e+000μ27=3.0865910917939e+000 λ27=3.0802405093071e+000μ28=3.5972097846388e+000 λ28=3.6136208676923e+000μ29=4.1078284774837e+000 λ29=4.0913785104506e+000μ30=4.6184471703285e+000 λ30=4.6030353782791e+000μ31=5.1290658631734e+000 λ31=5.1329242838984e+000μ32=5.6396845560183e+000 λ32=5.5949063480833e+000μ33=6.1503032488632e+000 λ33=6.0809338570269e+000μ34=6.6609219417080e+000 λ34=6.6803540921116e+000μ35=7.1715406345529e+000 λ35=7.2938774481266e+000μ36=7.6821593273978e+000 λ36=7.7171117142356e+000μ37=8.1927780202427e+000 λ37=8.2252200140502e+000μ38=8.7033967130876e+000 λ38=8.6486660651935e+000μ39=9.2140154059324e+000 λ39=9.2542003445750e+000(3)计算A 的条件数cond(A)和行列式detAA 的条件数cond(A)=1.9252042739022e+003A 的行列式detA=2.7727861417521e+118四、结果分析设A 的n 个线性无关的特征向量为1x ,2x ,…,n x ,其相对应的特征值满足的关系为n λλλλ≥≥≥> 321。
1月北京航空航天大学数学分析期末试题答案
北京航空航天大学2005-2006学年第一学期考试统一用答题册考试课程数学分析B班级成绩姓名学号20XX年1月数学分析(上)期终考试试题班级 学号 姓名 日期:2006.1.20一、填空题(每小题4分,共20分)1. sin 0tan 00limx →+⎰⎰= 12. 不定积分dx x ⎰sec = ln sec tan x x C ++3. 设()f x 有一阶连续导数,则'()d f x x ⎰=()f x C +,10'(2)d f x x ⎰=[]1(2)(0)2f f -。
4. 设函数()2xf x xe -=,则()f x 在0=x 处的5阶带Peano 余项的泰勒公式为()3551()2f x x x x o x =-++ 5. 111lim ......12n n n n n →∞⎛⎫+++⎪+++⎝⎭= ln 2 二、单项选择(每小题4分,共20分)1. 设()f x 连续, 220()()d x F x f t t =⎰, 则 '()F x 等于 【 C 】A. 4()f xB. 24()x f xC. 42()xf xD. 22()xf x2.下列命题中正确的是 【 B 】.A 若级数1n nn u v∞=∑收敛,则2211,nnn n uv∞∞==∑∑一定都收敛。
B .若级数2211,nnn n uv∞∞==∑∑收敛,则1n nn u v∞=∑ 一定收敛 。
.C 若正项级数1n n u ∞=∑发散,则必有 1,1,2,3n u n n>= 。
.D 若1nn u∞=∑收敛,且,1,2,3,.....n n u v n ≥=,则1nn v∞=∑也收敛。
3. 设正项数列{}n a 单调递减 ,()11nn n a ∞=-∑发散,则级数111nn n a ∞=⎛⎫⎪+⎝⎭∑ 【 C 】A. 和等于1 B . 发散C . 收敛 D. 收敛性不能确定4. 设 1220011()d d 11xxF x t t t t =+++⎰⎰,则 【 B 】 A .()0F x ≡ B.()2F x π≡C. ()arctan F x x =D.()2arctan F x x =5. 设⎪⎩⎪⎨⎧=≠=0,00 ,1sin )(x x x x x f , 则⎰=x dt t f x F 0)()(在x = 0处 【 D 】A.不连续 B. 连续但不可导C.连续且可导 D . 导函数连续三、计算题(每小题6分,共24分)1.x x d arctan⎰1arctan 11arctan (1)x x dx x dx x xx C x C=-=+++=+=+⎰⎰ 2. 221d (1)(2)x x x x +++⎰ 2245112(1)24ln 15ln 21dx x x x x C x⎛⎫=-+ ⎪+++⎝⎭=--+++++⎰3.x x xd ln 12⎰∞+221111211ln -1ln 1d ln d d x 11d 1x x x x x x x x x x x +∞+∞+∞+∞+∞+∞⎛⎫==-+ ⎪⎝⎭==-=⎰⎰⎰⎰4. 设D 是由曲线 1sin +=x y 与三条直线 0,,0===y x x π 所围成的曲边梯形,求D 绕x 轴旋转一周所生成的旋转体的体积。
北航数值分析大作业三
一、题目:关于x, y, t, u, v, w 的下列方程组0.5cos 2.670.5sin 1.070.5cos 3.740.5sin 0.79t u v w x t u v w y t u v w x t u v w y +++-=⎧⎪+++-=⎪⎨+++-=⎪⎪+++-=⎩1、试用数值方法求出f(x, y)在区域 {(,)|00.8,0.5 1.5}D x y x y =≤≤≤≤上的一个近似表达式,0(,)kr s rsr s p x y cx y ==∑要求(,)p x y 一最小的k 值达到以下的精度10202700((,)(,))10i j i j i j f x y p x y σ-===-≤∑∑其中,0.08,0.50.05i j x i y j ==+。
2、计算****(,),(,)i j i j f x y p x y (i = 1, 2, …,8;j = 1, 2,…,5)的值,以观察(,)p x y 逼近(,)f x y 的效果,其中,*i x =0.1i , *j y =0.5+0.2j 。
说明:1、用迭代方法求解非线性方程组时,要求近似解向量()k x 满足()(1)()12||||/||||10k k k x x x --∞∞-≤2、作二元插值时,要使用分片二次代数插值。
3、要由程序自动确定最小的k 值。
4、打印以下内容:●算法的设计方案。
●全部源程序(要求注明主程序和每个子程序的功能)。
●数表:,,i j x y (,)i j f x y (i = 0,1,2,…,10;j = 0,1,2,…,20)。
●选择过程的,k σ值。
●达到精度要求时的,k σ值以及(,)p x y 中的系数rs c (r = 0,1,…,k;s = 0,1,…,k )。
●数表:**,,i j x y ****(,),(,)i j i j f x y p x y (i = 1, 2, ...,8;j = 1, 2, (5)。
北航研究生数值分析试题
∗⎞ ⎟的 A1 ⎠
矩阵。
三、(12 分)试用高斯列主元素法求解线性方程组
⎡ 1 3 −2 −4 ⎤ ⎡ x1 ⎤ ⎡3 ⎤ ⎢ 2 6 −7 −10 ⎥ ⎢ x ⎥ ⎢ −2 ⎥ ⎢ ⎥⎢ 2⎥ = ⎢ ⎥ ⎢ −1 −1 5 9 ⎥ ⎢ x3 ⎥ ⎢14 ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ x4 ⎦ ⎥ ⎣ −6 ⎦ ⎣ −3 −5 0 15 ⎦ ⎣ 四、(12 分)利用矩阵 A 的三角分解 A = LU 求解下列方程组 ⎛ 1 2 1 ⎞ ⎛ x1 ⎞ ⎛ 0 ⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ 2 2 3 ⎟ ⎜ x2 ⎟ = ⎜ 3 ⎟ ⎜ −1 −3 0 ⎟ ⎜ x ⎟ ⎜ 2 ⎟ ⎝ ⎠⎝ 3 ⎠ ⎝ ⎠
第一章
1、近似数 x = 0.231 关于真值 x = 0.229 有( (1)1;(2)2;(3)3;(4)4。
∗
绪论
一、选择题(四个选项中仅有一项符合题目要求,每小题 3 分,共计 15 分) )位有效数字。
2、取 3 ≈ 1.732 计算 x = ( 3 − 1) ,下列方法中哪种最好?(
4
)
Ax
∞和
A ∞ 的值分别为(
)
3
(1) 8 , 8 ;
(2) 8 , 7 ;
(3) 8 , 6 ;
(4) 7 , 7 。
5 、若解线性代数方程组的 Gauss 部分选主元方法第二步得到的系数矩阵的第三列向量为
(2
6 3 2 −5 4 2 ) ,则第三步主行是(
T
) (4) 第 6 行。
(1) 第 2 行;
1 − cos x , sin x
x ≠ 0且 x << 1 ;
(2)
1 1− x , − 1+ 2x 1+ x
北航数值分析大作业第一题幂法与反幂法
《数值分析》计算实习题目第一题:1. 算法设计方案(1)1λ,501λ和s λ的值。
1)首先通过幂法求出按模最大的特征值λt1,然后根据λt1进行原点平移求出另一特征值λt2,比较两值大小,数值小的为所求最小特征值λ1,数值大的为是所求最大特征值λ501。
2)使用反幂法求λs ,其中需要解线性方程组。
因为A 为带状线性方程组,此处采用LU 分解法解带状方程组。
(2)与140k λλμλ-5011=+k 最接近的特征值λik 。
通过带有原点平移的反幂法求出与数k μ最接近的特征值 λik 。
(3)2cond(A)和det A 。
1)1=nλλ2cond(A),其中1λ和n λ分别是按模最大和最小特征值。
2)利用步骤(1)中分解矩阵A 得出的LU 矩阵,L 为单位下三角阵,U 为上三角阵,其中U 矩阵的主对角线元素之积即为det A 。
由于A 的元素零元素较多,为节省储存量,将A 的元素存为6×501的数组中,程序中采用get_an_element()函数来从小数组中取出A 中的元素。
2.全部源程序#include <stdio.h>#include <math.h>void init_a();//初始化Adouble get_an_element(int,int);//取A 中的元素函数double powermethod(double);//原点平移的幂法double inversepowermethod(double);//原点平移的反幂法int presolve(double);//三角LU 分解int solve(double [],double []);//解方程组int max(int,int);int min(int,int);double (*u)[502]=new double[502][502];//上三角U 数组double (*l)[502]=new double[502][502];//单位下三角L 数组double a[6][502];//矩阵Aint main(){int i,k;double lambdat1,lambdat2,lambda1,lambda501,lambdas,mu[40],det;init_a();//初始化Alambdat1=powermethod(0);lambdat2=powermethod(lambdat1);lambda1=lambdat1<lambdat2?lambdat1:lambdat2;lambda501=lambdat1>lambdat2?lambdat1:lambdat2;presolve(0);lambdas=inversepowermethod(0);det=1;for(i=1;i<=501;i++)det=det*u[i][i];for (k=1;k<=39;k++){mu[k]=lambda1+k*(lambda501-lambda1)/40;presolve(mu[k]);lambda[k]=inversepowermethod(mu[k]);}printf("------------所有特征值如下------------\n");printf("λ=%1.11e λ=%1.11e\n",lambda1,lambda501);printf("λs=%1.11e\n",lambdas);printf("cond(A)=%1.11e\n",fabs(lambdat1/lambdas));printf("detA=%1.11e \n",det);for (k=1;k<=39;k++){printf("λi%d=%1.11e ",k,lambda[k]);if(k % 3==0) printf("\n");} delete []u;delete []l;//释放堆内存return 0;}void init_a()//初始化A{int i;for (i=3;i<=501;i++) a[1][i]=a[5][502-i]=-0.064;for (i=2;i<=501;i++) a[2][i]=a[4][502-i]=0.16;for (i=1;i<=501;i++) a[3][i]=(1.64-0.024*i)*sin(0.2*i)-0.64*exp(0.1/i); }double get_an_element(int i,int j)//从A中节省存储量的提取元素方法{if (fabs(i-j)<=2) return a[i-j+3][j];else return 0;}double powermethod(double offset)//幂法{int i,x1;double beta=0,prebeta=-1000,yita=0;for (i=1;i<=501;i++)u[i]=1,y[i]=0;//设置初始向量u[]for (int k=1;k<=10000;k++){yita=0;for (i=1;i<=501;i++) yita=sqrt(yita*yita+u[i]*u[i]);for (i=1;i<=501;i++) y[i]=u[i]/yita;for (x1=1;x1<=501;x1++){u[x1]=0;for (int x2=1;x2<=501;x2++)u[x1]=u[x1]+((x1==x2)?(get_an_element(x1,x2)-offset):get_an_element(x1,x2))*y[x2];} prebeta=beta;beta=0;for (i=1;i<=501;i++) beta=beta+ y[i]*u[i];if (fabs((prebeta-beta)/beta)<=1e-12) {printf("offset=%f lambda=%f err=%e k=%d\n",offset,(beta+offset),fabs((prebeta-beta)/beta),k);break;};//输出中间过程,包括偏移量,误差,迭代次数}return (beta+offset);}double inversepowermethod(double offset)//反幂法{int i;double u[502],y[502];double beta=0,prebeta=0,yita=0;for (i=1;i<=501;i++)u[i]=1,y[i]=0; //设置初始向量u[]for (int k=1;k<=10000;k++){yita=0;for (i=1;i<=501;i++) yita=sqrt(yita*yita+u[i]*u[i]);for (i=1;i<=501;i++) y[i]=u[i]/yita;solve(u,y);prebeta=beta;beta=0;for (i=1;i<=501;i++) beta=beta+ y[i]*u[i];beta=1/beta;if (fabs((prebeta-beta)/beta)<=1e-12) {printf("offset=%f lambda=%f err=%e k=%d\n",offset,(beta+offset),fabs((prebeta-beta)/beta),k);break;};//输出中间过程,包括偏移量,误差,迭代次数}return (beta+offset);}int presolve(double offset)//三角LU分解{int i,k,j,t;double sum;for (k=1;k<=501;k++)for (j=1;j<=501;j++){u[k][j]=l[k][j]=0;if (k==j) l[k][j]=1;} //初始化LU矩阵for (k=1;k<=501;k++){for (j=k;j<=min(k+2,501);j++){sum=0;for (t=max(1,max(k-2,j-2)) ; t<=(k-1) ; t++)sum=sum+l[k][t]*u[t][j];u[k][j]=((k==j)?(get_an_element(k,j)-offset):get_an_element(k,j))-sum;}if (k==501) continue;for (i=k+1;i<=min(k+2,501);i++){sum=0;for (t=max(1,max(i-2,k-2));t<=(k-1);t++)sum=sum+l[i][t]*u[t][k];l[i][k]=(((i==k)?(get_an_element(i,k)-offset):get_an_element(i,k))-sum)/u[k][k];}}return 0;}int solve(double x[],double b[])//解方程组{int i,t;double y[502];double sum;y[1]=b[1];for (i=2;i<=501;i++){sum=0;for (t=max(1,i-2);t<=i-1;t++)sum=sum+l[i][t]*y[t];y[i]=b[i]-sum;}x[501]=y[501]/u[501][501];for (i=500;i>=1;i--){sum=0;for (t=i+1;t<=min(i+2,501);t++)sum=sum+u[i][t]*x[t];x[i]=(y[i]-sum)/u[i][i];}return 0;}int max(int x,int y){return (x>y?x:y);}int min(int x,int y){return (x<y?x:y);}3.计算结果结果如下图所示:部分中间结果:给出了偏移量(offset),误差(err),迭代次数(k)4.讨论迭代初始向量的选取对计算结果的影响,并说明原因使用u[i]=1(i=1,2,...,501)作为初始向量进行迭代,可得出以上结果。
北航数值分析大作业3(学硕)
《数值分析》作业三院系:机械学院学号:SY1307145姓名:龙安林2013年11 月24 日1. 算法设计1) 开始;2) 计算数组[][]0.08,0.050.5,0,1,2,,10;0,1,2,,20x i i y j j i j ==+=⋯=⋯(); 3) 将点[][],0,1,2,,10;0,1,2,,20x i y j i j =⋯=⋯(),()带入非线性方程组: 0.5cos 2.670.5sin 1.070.5cos 3.740.5sin 0.79t u v w x t u v w y t u v w x t u v w y +++-=⎧⎪+++-=⎪⎨+++-=⎪⎪+++-=⎩ 得出相应的点,t u (); 4) 选择拉格朗日插值法,将,t u ()作为中间变量,在题目所给出的二维数表中进行二次代数插值,得到[][],)(z f x i y j =;5) 输出数表:[][][][]()()0,1,2,,10;0,1,2,,20,,,x i y j f x i y j i j =⋯=⋯; 6) 令k=0;7) 以()()(),,,0,1,r r r s x x y y r s ϕψ===…,k 为拟合基函数,将上述数表作为拟合条件,对于给定的k 值,得到矩阵B 、G 、U ;8) 令-1-1(),()T T T A B B B U C AG G G ==,用选主元的LU 分解法分别计算矩阵A 和C 的各列,最后得到系数矩阵C ;9) 以公式:()()()00,k ki j rs r i s j s r p x y C x y ϕψ===∑∑计算每个点的拟合值;10) 利用公式:()()()2102000,,i j i j i j f x y p x y σ===-∑∑计算拟合误差,当σ≤10-7时,循环结束,否则k=k+1,转(6);11) 令[][]()**0.10.50.2 1,2,81,2,5x i i y j j i j ==+=⋯=⋯;,;,;12) 计算()()()******,,,,,i j i j i jf x y p x y delta x y ,输出数表,观察逼近效果; 13) 结束。
数值分析(秘籍考试必过个人整理)
例1:构造求解下列方程组收敛的Gauss-Seidel 迭代格式(不计算),并说明收敛的理由。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----456401-1-51-1-1-6645116401151321321x x x x x x 同解变换为GS 迭代格式为⎪⎪⎪⎩⎪⎪⎪⎨⎧+=++=++=+++++141151511616111133********k k kk k kk k x x x x x x x x ,k=0,1,2,…其中)0(3)0(2)0(1,,x x x 为初值。
因为变换后的系数矩阵为严格对角占优阵,所以GS 迭代格式收敛。
公式:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+--=∑∑-≠=+=++111111i i j j ni j i k j ij k j ij ii k i b x a x a a x 收敛性:1.若A 主对角元占优,则收敛。
2.若A 对称正定,则收敛。
3.若1〈G ,则收敛 4.收敛1)(<⇔G ρ例2:用Doolittle (LU )分解法求解如下线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---203214511121321x x x 解:设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=203,214511121b A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==332322131211323121111u u u u u u l l l LU A 公式n k i u u l a l n k k j u l a u kk sk k s is ik ik sj k s ks kj kj ,...,1,/)(,,...,1,,1111+=-=+=-=∑∑-=-= 由矩阵相等得:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=1263121,1374111U L由Ly=b ,解得:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡333321y y y ,由Ux=y, 解得:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡4/12/34/1321x x x注:Crout 分解:A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=111231312333231222111u u u l l l l l l LU ),...,1,(11n k k i u l a l tk k t it ik ik +=-=∑-=,),,...,2,1(,/)(11n k n k k j l u l a u kk k t tj kt kj kj <++=-=∑-=例3:用Euler 法求初值问题:⎩⎨⎧==≤≤-=1.0,0)0(5.00,,h y x y x y 解:1)Euler 公式:⎩⎨⎧=-=+=+001)(1,...,1,0),,(y x y n i y x hf y y i i i i公式:))(,()(,i i i x y x f x y =,对于[]))(,()(,,,x y x f x y b a x =∈∀ 这里ih x y x y x f h b a y n i =-======,),(,1.0,5.0,0,0,50 注:因为x 最大能取到0.5,步长h=0.1,所以n=5i y y i y y i i i i 01.09.0)1.0(1.01+=-+=+2)算得:=====54321,,,,y y y y y例4:(Householder)设Ta )4,3,1,0,7(-=求H 使5,)0,,1,0,7(±=-=σσTHa解:设T b )0,,1,0,7(σ-=(取σ=5,(σ符号的选取应使2b a -的值尽可能大,σ与1+m a 同号))T b a )4,8,0,0,0(-=-∴, 54)4(8222=-+=-baT b a b a V )1,2,0,0,0(512-=--=, ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=-=5/35/45/45/3235I VV I H T公式:设Ha=b ,计算T VV I H b a ba Vb a b a 2,,,22-=--=--( , ||m a x ||||111∑=≤≤=ni ij nj a A (列范数) 的最大特征值矩阵A A A T =2||||)例5:利用householder 把下列矩阵化为拟上三角矩阵。
北航《数值分析》习题
北航《数值分析》习题习题一1. 下列各数都是经过四舍五入得到的近似数,试指出它们有几位有效数字以及它们的绝对误差限、相对误差限。
(1);(2);(3);(4);(5);(6);(7);1. (1)5,,;(2)2,,;(3)4,,;(4)5,,;(5)1,,;(6)2,,;(7)6,,2. 为使下列各数的近似值的相对误差限不超过,问各近似值分别应取几位有效数字?2. ;;3. 设均为第1题所给数据,估计下列各近似数的误差限。
(1);(2);(3)3. (1);(2);(3)4. 计算,取,利用下列等价表达式计算,哪一个的结果最好?为什么?(1);(2);(3)(4)4. 第(3)个结果最好。
5. 序列满足递推关系式若(三位有效数字),计算时误差有多大?这个计算过程稳定吗?5. 不稳定。
从计算到时,误差约为6. 求方程的两个根,使其至少具有四位有效数字(要求利用。
6. ,7. 某生产部门生产的一件产品需用七个零件,而这七个零件的质量取决于零件参数的标定值,它们的参数允许有一定的误差:若每一零件的标定值取做区间中点,在生产过程中每一零件的参数都有可能产生误差。
由此将零件分成不同的等级:A,B,C三等,等级由标定值的相对误差限表示,A等为1%,B等为5%,C等为10%。
试确定三个等级的零件分别满足的区间。
8. 将一个八位二进制数(10111101)2转换成十进制数时,可以用公式:(1)用多项式求值的秦九韶方法求C的值;(2)写出将任意一个八位二进制数(b1b2b3b4b5b6b7b8)2转化为十进制数的算法。
9. 利用等式变换使下列表达式的计算结果比较精确。
(1);(2)(3);(4)9. (1);(2);(3);(4)10. 设,求证:(1)(2)利用(1)中的公式正向递推计算时误差增大;反向递推时误差函数减小。
习题二1. 判断下列方程有几个实根,并求出其隔根区间。
(1);(2)(3);(4)1. (1),,;(2);(3),,;(4)为根。
北航数值分析大作业第一题
1 算法方案 1.1 λ1,λ501,λs 的计算
(1) (2) (3) (4) (5) 将矩阵 A[501][501]以压缩存储后的形式 C[5][501]输入 使用一次幂法得到按模最大的特征值 矩阵向左平移 λm 距离(A-λmI) ,再使用一次幂法得到按模最大的特征值 s,则 λm1=s-λm1 比较 λm1 和 λm2 的大小与正负,得到 λ 和 λ501 对 A 使用一次反幂法得到按模最小的特征值 λs
while (e>=pow(10,-12)); return 1/be;//返回 1/be2 作为矩阵 m[5][501]的按模最小向量 } //333333333333333333333333333333333333333333333333333333333333333333333333 33333333333333333333333333333333333333333333333333333333333333333333333 double det(double c[1+r+s][q]) { int max3(int a,int b,int c); int fmax2(int a,int b); int fmin2(int a,int b); int i,j,k,t; double sum,det=1; for(k=1;k<=q;k++) { for(j=k;j<=fmin2(k+s,q);j++)//求 ukj { sum=0; for(t=max3(1,k-r,j-s);t<=k-1;t++) { sum=sum+c[k-t+s][t-1]*c[t-j+s][j-1]; } c[k-j+s][j-1]=c[k-j+s][j-1]-sum; }
北航数值分析B自测题1-3章
D.2
10.若f (x)在区间[a, b]内单调有限,二分k 次后区间记为[ak , bk ],且每次 取xk+1 = ak 近似代替精确解x∗ ,则最小的绝对误差限为( ) A.|xk+1 − x∗ | ≤ C.|xk+1 − x∗ | ≤ 二、 填空题 1.设π 的近似数π ∗ 有4位有效数字,则其相对误差限为 √ 2. x∗ 的相对误差约是x∗ 的相对误差的 倍。
(2)a=6,b=2; (3)a=2,b=3; (4)a=-1,b=2.
3.设矩阵A ∈ Rn∗n , Q ∈ Rn∗n ,且QT Q=E,则下列关系式不成立的是( ) (1) A
2
= AQ ; (2) QA
2 F
= A
F
; (3) Qx
2
= x , 其中x ∈ Rn ;
2
(4)cond∞ ( ) = cond∞ ( Q).
8
3 −1 4 1 4.设矩阵A=−1 2 −2 ,x=−1 ,则 Ax 2 −3 −2 1 ( ) (1)8,8; (2)8,7; (3)8,6; (4)7,7.
A. 7 3
B.− 7 3
7 C. 6
D.− 7 6
8.追赶法适用于求解( )线性方程组. A.上三角 B.下三角 C.对角 D.三对角 二.填空 题:
2 1 0 1.设A=1 2 a,为使A 可分解为A=LLT ,其中L是 对角元素为正的下 0 a 2 三角矩阵 范围是 ,则a的取值 .
1 (s∗ ) s∗
≈
27 110×80
= 0.31% = max 1 ≤ j ≤ n{1, 2, 4} = 4;
北航数值分析作业第一题
数值分析作业第一题一、 算法设计方案利用带状Dollittle 分解,将A[501][501]转存到数组C[5][501],以节省存储空间1、计算λ1和λ501首先使用幂法求出矩阵的按模最大的特征值λ0:如果λ0>0,则其必为按模最大值,因此λ501=λ0,然后采用原点平移法,平移量为λ501,使用幂法迭代求出矩阵A -λ501I 的按模最大的特征值,其特征值按从小到大排列应为λ1-λ501、λ2-λ501、……、0。
因此A-λ501I 的按模最大的特征值应为λ1-λ501。
又因为λ501的值已求得,由此可直接求出λ1。
2、计算λSλS 为矩阵A 按模最小的特征值,可以通过反幂法直接求出。
3、计算λikλik 是对矩阵A 进行λik 平移后,再用反幂法求出按模最小的特征值λmin ,λik =λik +λmin 。
4、计算矩阵A 的条件数计算cond (A )2和行列式det(A)矩阵A 的条件数为n12cond λλ)( A ,其中λ1和λn 分别是矩阵A 的模最大和最小特征值,直接利用上面求得的结果直接计算。
矩阵A 的行列式可先对矩阵A 进行LU 分解后,det(A)等于U 所有对角线上元素的乘积。
二、源程序:#include<math.h>#include<stdio.h>#include<stdlib.h>#include<iostream.h>#define s 2#define r 2int Max(int v1,int v2);int Min(int v1,int v2);int maxt(int v1,int v2,int v3);void storage(double C[5][501],double b,double c);double mifa(double C[5][501]);void LU(double C[5][501]);double fmifa(double C[5][501]);int Max(int v1,int v2) //求两个数的最大值{ return((v1>v2)?v1:v2);}int Min(int v1,int v2) //求两个数最小值{ return ((v1<v2)?v1:v2);}int maxt(int v1,int v2,int v3) //求三个数最大值{ int t;if(v1>v2) t=v1;else t=v2;if(t<v3) t=v3;return(t);}/***将矩阵值转存在一个数组里,以节省存储空间***/void storage(double C[5][501],double b,double c){ int i=0,j=0;C[i][j]=0,C[i][j+1]=0;for(j=2;j<=500;j++)C[i][j]=c;i++;j=0;C[i][j]=0;for(j=1;j<=500;j++)C[i][j]=b;i++;for(j=0;j<=500;j++)C[i][j]=(1.64-0.024*(j+1))*sin(0.2*(j+1))-0.64*exp(0.1/(j+1));i++;for(j=0;j<=499;j++)C[i][j]=b;C[i][j]=0;i++;for(j=0;j<=498;j++)C[i][j]=c;C[i][j]=0,C[i][j+1]=0;}//用于求解最大的特征值,幂法double mifa(double C[5][501]){ int m=0,i,j;double b2,b1=0,sum;double u[501],y[501];for (i=0;i<501;i++){ u[i] = 1.0;}do{ sum=0;if(m!=0)b1=b2;m++;for(i=0;i<=500;i++)sum+=u[i]*u[i];for(i=0;i<=500;i++)y[i]=u[i]/sqrt(sum);for(i=0;i<=500;i++){ u[i]=0;for(j=Max(i-r,0);j<=Min(i+s,500);j++)u[i]=u[i]+C[i-j+s][j]*y[j];}b2=0;for(i=0;i<=500;i++)b2=b2+y[i]*u[i];}while(fabs(b2-b1)/fabs(b2)>=1.0e-12);return b2;}/*****行列式LU分解*****/void LU(double C[5][501]){ double sum;int k,i,j;for(k=1;k<=501;k++){ for(j=k;j<=Min(k+s,501);j++){ sum=0;for(i=maxt(1,k-r,j-s);i<=k-1;i++)sum+=C[k-i+s][i-1]*C[i-j+s][j-1];C[k-j+s][j-1]-=sum;}for(j=k+1;j<=Min(k+r,501);j++){ sum=0;for(i=maxt(1,j-r,k-s);i<=k-1;i++)sum+=C[j-i+s][i-1]*C[i-k+s][k-1];C[j-k+s][k-1]=(C[j-k+s][k-1]-sum)/C[s][k-1];}}}/***带状DOOLITE分解,并且求解出方程组的解***/void solve(double C[5][501],double x[501],double b[501]){ int i,j,k,t;double B[5][501],c[501];for(i=0;i<=4;i++){ for(j=0;j<=500;j++)B[i][j]=C[i][j];}for(i=0;i<=500;i++)c[i]=b[i];for(k=0;k<=500;k++){ for(j=k;j<=Min(k+s,500);j++){ for(t=Max(0,Max(k-r,j-s));t<=k-1;t++)B[k-j+s][j]=B[k-j+s][j]-B[k-t+s][t]*B[t-j+s][j];}for(i=k+1;i<=Min(k+r,500);i++){ for(t=Max(0,Max(i-r,k-s));t<=k-1;t++)B[i-k+s][k]=B[i-k+s][k]-B[i-t+s][t]*B[t-k+s][k];B[i-k+s][k]=B[i-k+s][k]/B[s][k];}}for(i=1;i<=500;i++)for(t=Max(0,i-r);t<=i-1;t++)c[i]=c[i]-B[i-t+s][t]*c[t];x[500]=c[500]/B[s][500];for(i=499;i>=0;i--){ x[i]=c[i];for(t=i+1;t<=Min(i+s,500);t++)x[i]=x[i]-B[i-t+s][t]*x[t];x[i]=x[i]/B[s][i];}}//用于求解模最大的特征值,反幂法double fmifa(double C[5][501]){ int m=0,i;double b2,b1=0,sum=0,u[501],y[501];for (i=0;i<=500;i++){ [i] = 1.0;}do{ if(m!=0)b1=b2;m++;sum=0;for(i=0;i<=500;i++)sum+=u[i]*u[i];for(i=0;i<=500;i++)y[i]=u[i]/sqrt(sum);solve(C,u,y);b2=0;for(i=0;i<=500;i++)b2+=y[i]*u[i];}while(fabs(b2-b1)/fabs(b2)>=1.0e-12);return 1/b2;}/***主程序***/void main(){ double b=0.16,c=-0.064,det=1.0;int i;double C[5][501],cond;storage(C,b,c); //进行C的赋值cout.precision(12); //定义输出精度double k1=mifa(C); //利用幂法计算矩阵的最大特征值和最小特征值if(k1<0)printf("λ1=%.12e\n",k1);else if(k1>=0)printf("λ501=%.12e\n",k1);for(i=0;i<501;i++)C[2][i]=C[2][i]-k1;double k2=mifa(C)+k1;if(k2<0)printf("λ1=%.12e\n",k2);else if(k2>=0)printf("λ501=%.12e\n",k2);storage(C,b,c);double k3=fmifa(C); //利用反幂法计算矩阵A的按模最小特征值printf("λs=%.12e\n",k3);storage(C,b,c); //计算最接近特征值double u[39]={0};for(i=0;i<39;i++){ u[i]=k1+(i+1)*(k2-k1)/40;C[2][i]=C[2][i]-u[i];u[i]=fmifa(C)+u[i];printf("与数u%d 最接近的特征值λ%d: %.12e\n",i+1,i+1,u[i]);}if(k1>0) //计算矩阵A的条件数,取2范数cond=fabs(k1/k3);else if(k1<0)cond=fabs(k2/k3);storage(C,b,c);LU(C); //利用LU分解计算矩阵A的行列式for(i=0;i<501;i++)det*=C[2][i];printf("\ncond(A)=%.12e\n",cond);printf("\ndet(A)=%.12e\n",det);}三、计算结果:四、结果分析迭代初始向量的选择对果有一定的影响,选择不同的初始向量可能会得到不同阶的特征值。
北航研究生数值分析作业第二题
北航研究生数值分析作业第二题北航研究生数值分析作业第二题:一、算法设计方案1.按照题目给出的矩阵定义对矩阵A赋初值:对应的函数为a_init();2.对矩阵A进行householder变换,使其拟上三角化:对应的函数为householder();3.输出拟上三角化后的A:对应的函数为aout(int);4.对拟上三角化后的矩阵A使用带双步位移的QR分解法逐次迭代(最大迭代次数L=500),逐个求出其特征值,对应的函数为eigen_a();中间包含两个子程序:calc_mk()和qr_analyze(),分别用来计算矩阵M k和对M k进行QR 分解并得到A k+1;5.输出QR分解过程完毕后的A及求得的特征向量:对应的函数为aout()和eigenvalout();6.对于在第三步中求得的每个实特征值,使用带原点平移的反幂法求出其对应的特征向量,对应的函数为eigenvec();其中包含一个解方程(A-μI)=y k-1的程序段。
这部分也用迭代完成,仍然将最大迭代次数L设置为500;7.输出矩阵A的特征向量,结束计算:对应的函数为eigenvecout()。
算法编译环境:vlsual c++6.0二、源程序如下:#include#include#define N 10 //矩阵阶数;#define EPSL 1.0e-12 //迭代的精度水平;#define L 500 //迭代最大次数;#define OUTPUTMODE 1 //输出格式:0--输出至屏幕,1--输出至文件double a[N][N], a2[N][N], eigen[N][N]; //声明矩阵A;double sa_re[N] = {0}, sa_im[N] = {0}; //声明矩阵的特征值数组;double u_init[N] = {2,1,2,1,2,1,2,1,2,1}; //定义反幂法中使用的初始向量u;//主程序开始;int main(){FILE *p;void a_init();void householder();void equal_zero(double matrix[N][N], int);void eigenvec();int eigen_a();void aout(int);void eigenvalout(int);void eigenvecout(int);if(OUTPUTMODE){p = fopen("Result.txt", "w+");fprintf(p, "计算结果:\n");fclose(p);}a_init(); //对矩阵A进行初始化;householder(); //对矩阵A进行拟上三角化;equal_zero(a, N); //对矩阵A的元素进行归零处理,消除误差;aout(OUTPUTMODE); //输出A;if(eigen_a()) printf("迭代超过最大次数,特征值求解结果可能不正确。
北航数值分析第三次大作业
} fx=temp;
temp=0; for(l=0;l<=3;l++)
{ if(temp<fabs(X[l])) temp=fabs(X[l]);
} fX=temp;
if(fabs(fx/fX)<Epsilon1)
{ t[i][j]=X[0]; u[i][j]=X[1];
A = (BT B)−1 BTU , DT = G(GTG)−1
对上面两式进行变形,得到如下两个线性方程组:
(BT B)A = BTU , (GTG)D = GT
通过解上述两个线性方程组,则有: C = ADT
kk
3)对于每一个 (xi , y j ) , p*(xi , y j ) =
Crs (xi )r ( y j )s 。
xi yj
−h 2
− 2
x xi y y
+ h, 2
j
+
2
2i ,2
j
n
−2 m−
2
则选择 (xk , yr )(k = i −1,i,i +1;r = j −1, j, j +1) 为插值节点。 2)计算
lk
(x)
=
i +1 t =i−1
x − xt xk − xt
/*高斯选主元消去法求解Δx*/ for(k=0;k<3;k++)
{ ik=k; for(l=k;l<=3;l++) {if(dF[ik][k]<dF[l][k]) ik=l; } /*选主元*/
北航数值分析复习试题
数值分析一、单项选择题(共20分,每小题2分)1-110=11=12=,则Lagranage 二次插值多项式为( ) A.2(121)(144)(100)(144)(100)(121)()101112(100121)(100144)(121100)(121144)(144121)(144100)x x x x x x L x ------=++------ B .2(121)(144)(100)(144)(100)(121)()111012(100121)(100144)(121100)(121144)(144121)(144100)x x x x x x L x ------=++------ C .2(121)(144)(100)(144)(100)(121)()121110(100121)(100144)(121100)(121144)(144121)(144100)x x x x x x L x ------=++------ D .2(121)(144)(100)(144)(100)(121)()101211(100121)(100144)(121100)(121144)(144121)(144100)x x x x x x L x ------=++------ 1-210=11=12=,用Lagranage为( )精确到小数点后4位。
A.9.7227 B .11.7227 C .10.7227 D .13.72271-3、已知(1 2 3 4)TX =,则向量X 的21, , Xx x ∞的值分别是:( )B. -9,212,7C. 4,5,6D. 9,4,71-4、设 2121A --⎛⎫= ⎪⎝⎭,则21,, , F A A A x ∞的值分别为( )A. 4B. -9,C.4,5,6D. 9,4,71-5、设节点00 (=0,1,2,...,n), (0),k x x kh k x x th t =+=+>则Newton 向前插值公式为( )A. 100010()()!k k nn k j f N x th f t j k -==∆+=+-∑∏ B. 110()()!k k nn n n n k j f N x th f t j k -==∆+=+-∑∏ C. 100010()()!k k nn k j f N x th f t j k -==∇+=+-∑∏ D. 110()()!k k nn n n n k j f N x th f t j k -==∇+=+-∑∏1-6、方程组⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++=+++47401815622189622315694962424321432143214321x x x x x x x x x x x x x x x x 进行直接三角分解法得到的L 矩阵为( )A. 1211213321B.1613216241C.16332202102 D.12147165511-7、对方程组的系数矩阵123412312341346262414535x x x x x x x x x x x x x x ++-=⎧⎪++=-⎨++-=⎪--+=-⎩进行Crout 分解法得到的U 矩阵为( )A.1111363111261131-- B. 1111363111569171--C.111136611151091371-- D. 111166311223611121--1-8、1、已知642()1f x x x x =+-+,2, 2 (0,1,2,...)k x kh h k =+==,则[2,6,10,14,18,22,26,30]f =( )A .5!B .4!C .0D .11-9、1、已知64()f x x x =+,2, 2 (0,1,2,...)k x kh h k =+==,则[2,4,6,8,10,12,14]f =( )A .5!B .4!C .0D .11-10、复合Cotes 求积公式, 复合梯形求积公式和复合Simpson 求积公式的收敛阶分别为( ) A .5,1,3 B .4,2 ,6 C .6,2,4 D .以上都不对1-11、对线性方程组1231231232211221x x x x x x x x x +-=⎧⎪++=⎨++=⎪⎩,若用Jocabi 迭代法和G-S 迭代法求解,则( )A.Jocabi 迭代法收敛和G-S 迭代法发散B. Jocabi 迭代法和G-S 迭代法均发散C. Jocabi 迭代法和G-S 迭代法均收敛D. Jocabi 迭代法发散和G-S 迭代法收敛1-12、对线性方程组1231213918 293x x x x x x x --=⎧⎪-+=⎨-+=⎪⎩,若用Jocabi 迭代法和G-S 迭代法求解( ),则 B.Jocabi 迭代法收敛和G-S 迭代法发散 A. Jocabi 迭代法和G-S 迭代法均发散C. Jocabi 迭代法和G-S 迭代法均收敛D. Jocabi 迭代法发散和G-S 迭代法收敛1-13、设线性方程组为1231213918 293x x x x x x x --=⎧⎪-+=⎨-+=⎪⎩,则Jocabi 迭代格式和G-S 迭代格式分别为( ),则(Ⅰ) 2311(1)()()1(1)()2(1)()311799917881899k k k k k k k x x x x x x x +++⎧=++⎪⎪⎪=+⎨⎪⎪=+⎪⎩(Ⅱ) 2311(1)()()1(1)(1)2(1)(1)311799917881899k k k k k k k x x x x x x x +++++⎧=++⎪⎪⎪=+⎨⎪⎪=+⎪⎩A.(Ⅰ)和(Ⅱ)B. (Ⅱ)和(Ⅰ)C.(Ⅰ)和(Ⅰ)D. (Ⅱ)和(Ⅱ)1-14、已知*x 是()f x 的 (2)m m ≥重根,则求重根的修正Newton 公式为( )1(). ()k k k k f x A x x mf x +=-' 10(). ()k k k f x B x x mf x +=-'111(). ()()()k k k k k k k f x C x x x x f x f x +--=--- 111()(). ()()k k k k k k k f x f x D x x f x x x -+--=--1-15、若记(),()k k k k y f x z f y ==,则对迭代格式1()k k x f x -=使用Aitken 加速后得到的新迭代迭代格式为( )21(()). (())2()k k k k k k k f x x A x x f f x f x x +-=--+21(()). ()(())2()k k k k k k k f x x B x f x f f x f x x +-=--+21(). 2k k k k k k k z y C x z z y x +-=--+ 21((())()). (())(())2()k k k k k k k f f x f x D x f f x f f x f x x +-=--+1-16、将积分区间[a,b]n 等分,分点为kh a x k +=,k=0,1,2,3,4....n,其中nab h -=,则复合梯形公式为( )A. ])()(4)([211∑-=++n k k b f x f a f hB.])()(2)([211∑-=++n k k b f x f a f hC.)]()(4)(2)([6102111b f x f x f a f hn k k n k k +++∑∑-=+-=D.)]()(4)(2)([6112110b f x f x f a f hn k k n k k +++∑∑-=+-=二、填空题(共20分,每空2分)2-1、根据数值方法的稳定性与算法设计原则在连加运算中要防止 ,在减法运算中要避免 ,在除法运算中要避免,在乘法运算中要避免 。
北航研究生数值分析期末模拟历年考试
北航研究⽣数值分析期末模拟历年考试数值分析模拟试卷1⼀、填空(共30分,每空3分) 1 设-=1511A ,则A 地谱半径=)(a ρ______,A 地条件数)(1A cond =________. 2设,2,1,0,,53)(2==+=k kh x x x f k ,则],,[21++n n n x x x f =________,],,[321+++n n n n x x x x f ,=________.3 设≤≤-++≤≤+=21,1210,)(2323x cx bx x x x x x S ,是以0,1,2为节点地三次样条函数,则b=________,c=________.4设∞=0)]([k k x q 是区间[0,1]上权函数为x x =)(ρ地最⾼项系数为1地正交多项式族,其中1)(0=x q ,则=1)(dx x xq k________,=)(2x q ________.5设=11001a a a a A ,当∈a ________时,必有分解式,其中L 为下三⾓阵,当其对⾓线元素)3,2,1(=i L ii 满⾜条件________时,这种分解是唯⼀地.⼆、(14分)设49,1,41,)(21023====x x x x x f , (1)试求)(x f 在]49,41[上地三次Hermite 插值多项式)(x H 使满⾜2,1,0),()(==i x f x H i i ,)()(11x f x H '='.(2)写出余项)()()(x H x f x R -=地表达式.三、(14分)设有解⽅程0cos 2312=+-x x 地迭代公式为n n x x cos 3241+=+,(1)证明R x ∈?0均有?∞→=x x n x lim (?x 为⽅程地根);(2)取40=x ,⽤此迭代法求⽅程根地近似值,误差不超过,列出各次迭代值;(3)此迭代地收敛阶是多少?证明你地结论.四、(16分) 试确定常数A ,B ,C 和,使得数值积分公式有尽可能⾼地代数精度. 试问所得地数值积分公式代数精度是多少?它是否为Gauss 型地?五、(15分)设有常微分⽅程地初值问题??=='00)(),(y x y y x f y ,试⽤Taylor 展开原理构造形如)()(11011--++++=n n n n n f f h y y y ββα地⽅法,使其具有⼆阶精度,并推导其局部截断误差主项.六、(15分)已知⽅程组b Ax =,其中==21,13.021b A ,(1)试讨论⽤Jacobi 迭代法和Gauss-Seidel 迭代法求解此⽅程组地收敛性.(2)若有迭代公式)()()()1(b Ax a x x k k k ++=+,试确定⼀个地取值范围,在这个范围内任取⼀个值均能使该迭代公式收敛.七、(8分)⽅程组,其中,A 是对称地且⾮奇异.设A 有误差,则原⽅程组变化为,其中为解地误差向量,试证明.其中1λ和2λ分别为A 地按模最⼤和最⼩地特征值.数值分析模拟试卷2填空题(每空2分,共30分)1. 近似数231.0=*x 关于真值229.0=x 有____________位有效数字;设)(x f 可微,求⽅程)(x f x =根地⽜顿迭代格式是_______________________________________________;3. 对1)(3++=x x x f ,差商=]3,2,1,0[f _________________;=]4,3,2,1,0[f ________;4. 已知-='-=1223,)3,2(A x ,则=∞||||Ax ________________,=)(1A Cond ______________________ ;⽤⼆分法求⽅程01)(3=-+=x x x f 在区间[0,1]内地根,进⾏⼀步后根所在区间为_________,进⾏⼆步后根所在区间为_________________;求解线性⽅程组=+=+04511532121x x x x 地⾼斯—赛德尔迭代格式为_______________________________________;该迭代格式迭代矩阵地谱半径=)(G ρ_______________;为使两点数值求积公式:-+≈111100)()()(x f x f dx x f ωω具有最⾼地代数精确度,其求积节点应为=0x _____ ,=1x _____,==10ωω__________.8. 求积公式)]2()1([23)(3f f dx x f +≈?是否是插值型地__________,其代数精度为___________.⼆、(12分)(1)设LU A =,其中L 为下三⾓阵,U 为单位上三⾓阵.已知------=2100121001210012A ,求L,U . (2)设A 为66?矩阵,将A 进⾏三⾓分解:LU A =,L 为单位下三⾓阵,U 为上三⾓阵,试写出L 中地元素65l 和U 中地元素56u 地计算公式.三、(12分)设函数)(x f 在区间[0,3]上具有四阶连续导数,试确定⼀个次数不超过3地多项式)(x H ,满⾜3)1()1(,1)2()2(,1)1()1(,0)0()0(='='======f H f H f H f H ,并写出插值余项. (12分)线性⽅程组=+=-22112122b x x b x x ρρ(1)请写出解此⽅程组地赛德尔迭代法地迭代格式,并讨论收敛性. (2)设2=ρ,给定松弛因⼦21=ω,请写出解此⽅程组地SOR ⽅法地迭代格式,并讨论收敛性.五、(7分)改写⽅程042=-+x x为2ln /)4ln(x x -=地形式,问能否⽤迭代法求所给⽅程在[1,2]内地实根?六、(7分)证明解⽅程0)(23=-a x 求3a 地⽜顿迭代法仅为线性收敛. 七、(12分)已知.43,21,41210===x x x (1)推导以这3个点作为求积节点在[0,1]上地插值型求积公式;(2)指明求积公式具有地代数精度;(3)⽤所求公式计算12dx x.⼋、(8分)若i n x x x x x x x x f ),())(()(10---= 互异,求],,,[10p x x x f 地值,这⾥.1+≤n p数值分析模拟试卷3⼀、填空题(每空3分,共30分)1.设1234)(248+++=x x x x f ,则差商=]2,,2,2[810 f ; 2.在⽤松弛法(SOR)解线性⽅程组b Ax =时,若松弛因⼦ω满⾜1|1|≥-ω,则迭代法;3.设,0)(,0)(**≠'=x f x f 要使求*x 地Newton 迭代法⾄少三阶收敛,)(x f 需要满⾜;4. 设)133)(2()(23-+-+=x x x x x f ,⽤Newton 迭代法求21-=x 具有⼆阶收敛地迭代格式为________________ ;求12=x 具有⼆阶收敛地迭代格式为___________________;5.已知?--=1327A ,则=)(A ρ__________,=∞)(A Cond ______ 6. 若1>>x ,改变计算式1lg lg 2--x x =___________________,使计算结果更为精确; 7.过节点())3,2,1,0(,3=i x x i i 地插值多项式为_____________ ; 8. 利⽤抛物(Simpson)公式求212dx x =.⼆、(14分)已知⽅阵=123111122A ,(1) 证明: A 不能被分解成⼀个单位下三⾓阵L 和⼀个上三⾓阵U 地乘积;(2) 给出A 地选主元地Doolittle 分解,并求出排列阵;(3) ⽤上述分解求解⽅程组b Ax =,其中Tb )4,2,5.3(=.三、(12分)设函数)(x f 在区间[0,3]上具有四阶连续导数,试确定⼀个次数不超过3地多项式)(x H ,满⾜40)1()1(,10)1()1(,1)1()1(,0)0()0(=''=''='='-====f H f H f H f H ,并写出插值余项.四、(10分)证明对任意地初值0x ,迭代格式n n x x cos 1=+均收敛于⽅程x x cos =地根,且具有线性收敛速度.五、(12分)在区间[-1,1]上给定函数14)(3+=x x f ,求其在},,1{2x x Span =φ中关于权函数1)(=x ρ地最佳平⽅逼近多项式.(可⽤数据:2123)(,)(,1)(2210-===x x p x x p x p )六、(12分)(1)试导出切⽐雪夫(Chebyshev)正交多项式])1,1[,,2,1,0)(arccos cos()(-∈==x n x n x T n 地三项递推关系式:=-===-+),2,1()()(2)(,)(,1)(1110 n x T x xT x T x x T x T n n n (2)⽤⾼斯—切⽐雪夫求积公式计算积分dx x x x I ? --=22)2(1,问当节点数n 取何值时,能得到积分地精确值?并计算它.七、(10分)验证对?-+-+=++==++=?+))1(,)1((),(),()(2,13121311hK t y h t x f K thK y th x f K y x f K K K h y y t n n n n n n n n 为2阶格式.参考答案1 ⼀、1.6)(=a ρ,)(1A cond =6.2.],,[21++n n n x x x f =3,],,[321+++n n n n x x x x f ,=0. 3.b =-2,c=3.4.??≠=0,00,21k k ;10356)(22+-=x x x q .5.)3,2,1(0);21,21(=>-∈i l a ii⼆、(1) 25145023345026322514)(23-++-=x x x x H (2) ).49,41(),49()1)(41(169!41)(225∈---=-ξξx x x x R三、(1)32=L ;(2)347.3≈?x ;(3)线性收敛. 四、512,916,910-====αB C A ;求积公式具有5次代数精度,是Gauss 型地. 五、41472110=-,=,=ββα;截断误差主项为)(833n x y h '''. 六、(1),16.0)(,6.0)(<==G S J B B ρρ因此两种迭代法均收敛.(2)当06.011>>+a 时,该迭代公式收敛.参考答案2 ⼀、1.22.),1,0()()(1 ='-=+n x f x f x x n n n n3.1, 0 4.7,725 5.)43,21(),1,21( 6. 121,2013531)1(1)1(2)(2)1(1??-=-=+++k k k k x x x x 7. 32,3210=-=x x ; 18. 是, 1⼆、(1)---=---=100431000321000211,4510003410002310002U L (2))(;)(4654356532652165155565545643563256215616565u l u l u l u l a u u u l u l u l u l a l +++-=+++-=三、)2()1(!4)()(),2)(1(2)(2)4(--=---=x x x f x R x x x x x H ξ四、(1) ??-=+=+++)1(12)1(2)(21)1(12k k k k x b x x b x ρρ, 1<ρ时收敛(2) ??-+=++=+++)1(1)(22)1(2)(2)(11)1(1214212k k k k k k x x b x x x b x , 收敛五、收敛七、(1))43(32)21(31)41(32f f f +- (2)2 (3)31 ⼋、110时为时为+=≤n ,p n p参考答案3 ⼀、1.42.发散3.0)(*=''x f4.),1,0()()(1 ='-=+n x f x f x x n n n n ,),1,0()()(31 ='-=+n x f x f x x n n n n5.2608+, 49 6.1lg2-x x7. 3x 8.37 ⼆、(2) 先交换2、3两⾏,交换1、2两⾏,===010001100,5.0003333.06667.00123,15.03333.0016667.0001P U L(3) )5.4,1,5.1('-三、3)4(2)1(!4)()(,)1(9)1(11)(-=-+-+-=x x f x R x x x x x x H ξ五、10512p p +六、1=n ,2π版权申明本⽂部分内容,包括⽂字、图⽚、以及设计等在⽹上搜集整理.版权为个⼈所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.SixE2yXPq5⽤户可将本⽂地内容或服务⽤于个⼈学习、研究或欣赏,以及其他⾮商业性或⾮盈利性⽤途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本⽹站及相关权利⼈地合法权利.除此以外,将本⽂任何内容或服务⽤于其他⽤途时,须征得本⼈及相关权利⼈地书⾯许可,并⽀付报酬.6ewMyirQFLUsers may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.kavU42VRUs转载或引⽤本⽂内容必须是以新闻性或资料性公共免费信息为使⽤⽬地地合理、善意引⽤,不得对本⽂内容原意进⾏曲解、修改,并⾃负版权等法律责任.y6v3ALoS89Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.M2ub6vSTnP。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京航空航天大学数值分析历年部分试题整理
(2001
2002
2003
2006
2008
2009)
2010年3月16日
北航数值分析2001年试题
北航数值分析2002年试题
北航数值分析2003年试题
北航数值分析2006年试题
北航数值分析2008年试题(版本一)
北航数值分析2008年试题(版本二)
北航数值分析2008年试题答案
一.选择题
1.C
2.A
3.D
4.D
5.A
6.D
二.填空题
1.错误!未找到引用源。
2.错误!未找到引用源。
3.错误!未找到引用源。
4.错误!未找到引用源。
5.0
6.0
7.错误!未找到引用源。
北航数值分析2009年试题
感谢手工抄写试卷的zhp、jhw、zby同学,以上试卷答案为本人和同学讨论所得,不保证正确性,请同学们参考使用,祝大家取得好成绩(^_^)
2010年3月16日。