数值分析作业题(1)
数值分析大作业一
数值分析大作业一一、算法设计方案1、求λ1和λ501的值:思路:采用幂法求出按模最大特征值λmax,该值必为λ1或λ501,若λmax小于0,则λmax=λ1;否则λmax=λ501。
再经过原点平移,使用幂法迭代出矩阵A-λmax I的特征值,此时求出的按模最大特征值即为λ1和λ501的另一个值。
2、求λs的值:采用反幂法求出按模最小的特征值λmin即为λs,其中的方程组采用LU分解法进行求解。
3、求与μk最接近的特征值:对矩阵A采用带原点平移的反幂法求解最小特征值,其中平移量为:μk。
4、A的条件数cond(A)=| λmax/λmin|;5、A的行列式的值:先将A进行LU分解,再求U矩阵对角元素的乘积即为A 行列式的值。
二、源程序#include<iostream>#include<iomanip>#include<math.h>#define N 501#define E 1.0e-12 //定义精度常量#define r 2#define s 2using namespace std;double a[N];double cc[5][N];void init();double mifa();double fmifa();int max(int aa,int bb);int min(int aa,int bb);int max_3(int aa,int bb,int cc);void LU();void main(){double a1,a2,d1,d501=0,ds,det=1,miu[39],lamta,cond;int i,k;init();/*************求λ1和λ501********************/a1=mifa();if(a1<0)d1=a1; //若小于0则表示λ1的值elsed501=a1; //若大于0则表示λ501的值for(i=0;i<N;i++)a[i]=a[i]-a1;a2=mifa()+a1;if(a2<0)d1=a2; //若小于0则表示λ1的值elsed501=a2; //若大于0则表示λ501的值cout<<"λ1="<<setiosflags(ios::scientific)<<setprecision(12)<<d1<<"\t";cout<<"λ501="<<setiosflags(ios::scientific)<<setprecision(12)<<d501<<endl;/**************求λs*****************/init();ds=fmifa();cout<<"λs="<<setiosflags(ios::scientific)<<setprecision(12)<<ds<<endl;/**************求与μk最接近的特征值λik**************/cout<<"与μk最接近的特征值λik:"<<endl;for(k=0;k<39;k++){miu[k]=d1+(k+1)*(d501-d1)/40;init();for(i=0;i<N;i++)a[i]=a[i]-miu[k];lamta=fmifa()+miu[k];cout<<"λi"<<k+1<<"\t\t"<<setiosflags(ios::scientific)<<setprecision(12)<<lamta<<en dl;}/**************求A的条件数**************/cout<<"矩阵A的条件式";cond=abs(max(abs(d1),abs(d501))/ds);cout<<"cond="<<setiosflags(ios::scientific)<<setprecision(12)<<cond<<endl;/**************求A的行列式**************/cout<<"矩阵A的行列式";init();LU();for(i=0;i<N;i++){det*=cc[2][i];}cout<<"det="<<setiosflags(ios::scientific)<<setprecision(12)<<det<<endl;system("pause");}/**************初始化函数,给a[N]赋值*************/void init(){int i;for(i=1;i<=501;i++)a[i-1]=(1.64-0.024*i)*sin((double)(0.2*i))-0.64*exp((double)(0.1/i)); }/**************幂法求最大绝对特征值**************/double mifa(){int i,k=0;double u[N],y[N]={0},b=0.16,c=-0.064,Beta_=0,error;for(i=0;i<501;i++)u[i]=1; //令u[N]=1for(k=1;k<2000;k++) //控制最大迭代次数为2000{/***求y(k-1)***/double sum_u=0,gh_sum_u;for(i=0;i<N;i++){sum_u+=u[i]*u[i]; }gh_sum_u=sqrt(sum_u);for(i=0;i<N;i++){y[i]=u[i]/gh_sum_u;}/****求新的uk****/u[0]=a[0]*y[0]+b*y[1]+c*y[2];u[1]=b*y[0]+a[1]*y[1]+b*y[2]+c*y[3]; //前两列和最后两列单独拿出来求中D间的循环求for(i=2;i<N-2;i++){u[i]=c*y[i-2]+b*y[i-1]+a[i]*y[i]+b*y[i+1]+c*y[i+2];}u[N-2]=c*y[N-4]+b*y[N-3]+a[N-2]*y[N-2]+b*y[N-1];u[N-1]=c*y[N-3]+b*y[N-2]+a[N-1]*y[N-1];/***求beta***/double Beta=0;for(i=0;i<N;i++){Beta+=y[i]*u[i];}//cout<<"Beta"<<k<<"="<<Beta<<"\t"; 输出每次迭代的beta /***求误差***/error=abs(Beta-Beta_)/abs(Beta);if(error<=E) //若迭代误差在精度水平内则可以停止迭代{return Beta;} //控制显示位数Beta_=Beta; //第个eta的值都要保存下来,为了与后个值进行误差计算 }if(k==2000){cout<<"error"<<endl;return 0;} //若在最大迭代次数范围内都不能满足精度要求说明不收敛}/**************反幂法求最小绝对特¬征值**************/double fmifa(){int i,k,t;double u[N],y[N]={0},yy[N]={0},b=0.16,c=-0.064,Beta_=0,error;for(i=0;i<501;i++)u[i]=1; //令u[N]=1for(k=1;k<2000;k++){double sum_u=0,gh_sum_u;for(i=0;i<N;i++){sum_u+=u[i]*u[i]; }gh_sum_u=sqrt(sum_u);for(i=0;i<N;i++){y[i]=u[i]/gh_sum_u;yy[i]=y[i]; //用重新赋值,避免求解方程组的时候改变y的值}/****LU分解法解方程组Au=y,求新的***/LU();for(i=2;i<=N;i++){double temp_b=0;for(t=max(1,i-r);t<=i-1;t++)temp_b+=cc[i-t+s][t-1]*yy[t-1];yy[i-1]=yy[i-1]-temp_b;}u[N-1]=yy[N-1]/cc[s][N-1];for(i=N-1;i>=1;i--){double temp_u=0;for(t=i+1;t<=min(i+s,N);t++)temp_u+=cc[i-t+s][t-1]*u[t-1];u[i-1]=(yy[i-1]-temp_u)/cc[s][i-1];}double Beta=0;for(i=0;i<N;i++){Beta+=y[i]*u[i];}error=abs(Beta-Beta_)/abs(Beta);if(error<=E){return (1/Beta);}Beta_=Beta;}if(k==2000){cout<<"error"<<endl;return 0;} }/**************求两数最大值的子程序**************/int max(int aa,int bb){return(aa>bb?aa:bb);}/**************求两数最小值的子程序**************/int min(int aa,int bb){return(aa<bb?aa:bb);}/**************求三数最大值的子程序**************/int max_3(int aa,int bb,int cc){ int tt;if(aa>bb)tt=aa;else tt=bb;if(tt<cc) tt=cc;return(tt);}/**************LU分解**************/void LU(){int i,j,k,t;double b=0.16,c=-0.064;/**赋值压缩后矩阵cc[5][501]**/for(i=2;i<N;i++)cc[0][i]=c;for(i=1;i<N;i++)cc[1][i]=b;for(i=0;i<N;i++)cc[2][i]=a[i];for(i=0;i<N-1;i++)cc[3][i]=b;for(i=0;i<N-2;i++)cc[4][i]=c;for(k=1;k<=N;k++){for(j=k;j<=min(k+s,N);j++){double temp=0;for(t=max_3(1,k-r,j-s);t<=k-1;t++)temp+=cc[k-t+s][t-1]*cc[t-j+s][j-1];cc[k-j+s][j-1]=cc[k-j+s][j-1]-temp;}//if(k<500){for(i=k+1;i<=min(k+r,N);i++){double temp2=0;for(t=max_3(1,i-r,k-s);t<=k-1;t++)temp2+=cc[i-t+s][t-1]*cc[t-k+s][k-1];cc[i-k+s][k-1]=(cc[i-k+s][k-1]-temp2)/cc[s][k-1];}}}}三、程序结果。
数值分析大作业
数值分析上机作业(一)一、算法的设计方案1、幂法求解λ1、λ501幂法主要用于计算矩阵的按模最大的特征值和相应的特征向量,即对于|λ1|≥|λ2|≥.....≥|λn|可以采用幂法直接求出λ1,但在本题中λ1≤λ2≤……≤λ501,我们无法判断按模最大的特征值。
但是由矩阵A的特征值条件可知|λ1|和|λ501|之间必然有一个是最大的,通过对矩阵A使用幂法迭代一定次数后得到满足精度ε=10−12的特征值λ0,然后在对矩阵A做如下的平移:B=A-λ0I由线性代数(A-PI)x=(λ-p)x可得矩阵B的特征值为:λ1-λ0、λ2-λ0…….λ501-λ0。
对B矩阵采用幂法求出B矩阵按模最大的特征值为λ∗=λ501-λ0,所以λ501=λ∗+λ0,比较λ0与λ501的大小,若λ0>λ501则λ1=λ501,λ501=λ0;若λ0<λ501,则令t=λ501,λ1=λ0,λ501=t。
求矩阵M按模最大的特征值λ的具体算法如下:任取非零向量u0∈R nηk−1=u T(k−1)∗u k−1y k−1=u k−1ηk−1u k=Ay k−1βk=y Tk−1u k(k=1,2,3……)当|βk−βk−1||βk|≤ε=10−12时,迭终终止,并且令λ1=βk2、反幂法计算λs和λik由已知条件可知λs是矩阵A 按模最小的特征值,可以应用反幂法直接求解出λs。
使用带偏移量的反幂法求解λik,其中偏移量为μk=λ1+kλ501−λ140(k=1,2,3…39),构造矩阵C=A-μk I,矩阵C的特征值为λik−μk,对矩阵C使用反幂法求得按模最小特征值λ0,则有λik=1λ0+μk。
求解矩阵M按模最小特征值的具体算法如下:任取非零向量u 0∈R n ηk−1= u T (k−1)∗u k−1y k−1=u k−1ηk−1 Au k =y k−1βk =y T k−1u k (k=1,2,3……)在反幂法中每一次迭代都要求解线性方程组Au k =y k−1,当K 足够大时,取λn =1βk 。
数值分析作业(完整版)
的逆阵 A ,用左除命令 A \ E 检验你的结果。
clc clear close all A=[1 1 1 1 1;1 2 3 4 5;1 3 6 10 15;1 4 10 20 35;1 5 15 35 70]; fprintf('对上述矩阵进行列主元素分解:\n') for i=1:1:r-1 [mx,ro]=max(abs(A(i:r,i))); % 寻找a阵第i列的最大值 [A(i,:),A(ro+i-1,:)]=exchange(A(i,:),A(ro+i-1,:)); % 进行行与行交换 for j=i+1:1:r A(j,:)=A(j,:)-A(j,i)/A(i,i)*A(i,:); end A End %--矩阵A的逆阵 A1=inv(A) %--左除验证 E=eye(5); A2=A\E % 5x5单位阵 % A阵的逆矩阵 % 输出每次交换后的A
第一章
1、计算积分 I n
Code: clc clear close all n=9; %--梯形积分法 x=0:0.01:1; y=(x.^n).*exp(x-1); In = trapz(x,y); In2=vpa(In,6) % 6位有效数字 %--高精度积分法 F = @(x1)(x1.^n).*exp(x1-1); s = quad(F,0,1); s1=vpa(s,6)
0
0, 0, 0, 0, 0 。
T
if abs(er(:,i-1))<=e fprintf('在迭代 %d 次之后,满足精度要求,x向量的值如下:\n',i); fprintf('x1=%.5f, x2=%.5f, x3=%.5f, x4=%.5f, x5=%.5f\n',x(1,i),x(2,i),x(3,i),x(4,i),x(5,i)); break end end %--绘图 figure(1) plot(1:1:i,x(1,:),'b',1:1:i,x(2,:),'k',1:1:i,x(3,:),'g',1:1:i,x(4,:), 'r',1:1:i,x(5,:),'c') legend('x1','x2','x3','x4','x5') grid on title('Jacobi迭代法——x值随迭代次数变化曲线') figure(2) plot(1:1:i-1,er(1,:),'b',1:1:i-1,er(2,:),'k',1:1:i-1,er(3,:),'g',1:1: i-1,er(4,:),'r',1:1:i-1,er(5,:),'c') legend('△x1','△x2','△x3','△x4','△x5') grid on title('Jacobi迭代法——△x值随迭代次数变化曲线') %% fprintf('\n-------------Gauss-Seidel迭代法---------------------\n'); U=-(A1-D); L=-(A2-D); DL_1=inv(D-L); M1=DL_1*U; b2=DL_1*b; x1(:,1)=M1*x0+b2; for j=2:1:100 x1(:,j)=M1*x1(:,j-1)+b2; er1(:,j-1)=x1(:,j)-x1(:,j-1); if abs(er1(:,j-1))<=e fprintf('在迭代 %d 次之后,满足精度要求,x向量的值如下:\n',j); fprintf('x1=%.5f, x2=%.5f, x3=%.5f, x4=%.5f, x5=%.5f\n',x1(1,j),x1(2,j),x1(3,j),x1(4,j),x1(5,j)); break end end %--绘图 figure(3) plot(1:1:j,x1(1,:),'b',1:1:j,x1(2,:),'k',1:1:j,x1(3,:),'g',1:1:j,x1(4 ,:),'r',1:1:j,x1(5,:),'c') legend('x1','x2','x3','x4','x5')
数值分析练习题加答案(一)
数值分析期末考试一、 设80~=x ,若要确保其近似数的相对误差限为0.1%,则它的近似数x 至少取几位有效数字?(4分)解:设x 有n 位有效数字。
因为98180648=<<=,所以可得x 的第一位有效数字为8(1分) 又因为21101011000110821--⨯=<⨯⨯≤n ε,令321=⇒-=-n n ,可知x 至少具有3位有效数字(3分)。
二、求矩阵A 的条件数1)(A Cond (4分)。
其中⎥⎦⎤⎢⎣⎡=4231A 解:⎥⎦⎤⎢⎣⎡--=-5.05.1121A (1分) 1A =7(1分) 2711=-A (1分)249)(1=A Cond (1分)三、用列主元Gauss 消元法法求解以下方程组(6分)942822032321321321=++-=++--=+-x x x x x x x x x解:→⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---→⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----→⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----5.245.2405.35.230914220321821191429142821120321 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---→⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---8175835005,245.24091425.33.2305.245.2409142(4分) 等价三角方程组为:⎪⎪⎩⎪⎪⎨⎧-=-=+-=++,8175835,5.245.24,942332321x x x x x x (1分)回代得1,3,5123==-=x x x (1分)四、设.0,2,3,1,103)(3210234=-===-+-=x x x x x x x x f 1)求以3210,,,x x x x 为节3次Lagrange 多项式;(6分) 2)求以3210,,,x x x x 为节3次Newton 多项式;(6分)3)给出以上插值多项式的插值余项的表达式(3分)解:由0,2,3,13210=-===x x x x 可得10)(,34)(,1)(,11)(3210-==-=-=x f x f x f x f即得: +------+------=))()(())()(()())()(())()(()()(312101320130201032103x x x x x x x x x x x x x f x x x x x x x x x x x x x f x L=------+------))()(())()(()())()(())()(()(23130321033212023102x x x x x x x x x x x x x f x x x x x x x x x x x x x f+-+--+-⨯-+-+--+-⨯-)03)(23)(13()0)(2)(1()1()01)(21)(31()0)(2)(3(11x x x x x x326610.)20)(30)(10()2)(3)(1()10()02)(32)(12()0)(3)(1(34x x x x x x x x x -+--=+--+--⨯-+---------⨯2)计算差商表如下:i x )(i x f 一阶差商 二阶差商 三阶差商1 -11 3 -1 5 -2 34 -7 4 0-10-225-1则=+-----+-+-=)2)(3)(1()3)(1(4)1(511)(3x x x x x x x N326610x x x -+--3))2)(3)(1())()()((!4)()(3210)4(3+--=----=x x x x x x x x x x x x f x R ξ五、给定方程组b Ax =,其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100131w w w w A 。
北航数值分析大作业一
北京航空航天大学数值分析大作业一学院名称自动化专业方向控制工程学号ZY*******学生姓名许阳教师孙玉泉日期2021 年11月26 日设有501501⨯的实对称矩阵A ,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=5011A a b c b c c b c b a其中,064.0,16.0),501,,2,1(64.0)2.0sin()024.064.1(1.0-==⋅⋅⋅=--=c b i e i i a ii 。
矩阵A 的特征值为)501,,2,1(⋅⋅⋅=i i λ,并且有||min ||,501150121i i s λλλλλ≤≤=≤⋅⋅⋅≤≤1λ,501λ和s λ的值。
A 的与数4015011λλλμ-+=kk 最接近的特征值)39,,2,1(⋅⋅⋅=k k i λ。
A 的(谱范数)条件数2)A (cond 和行列式detA 。
一 方案设计1 求1λ,501λ和s λ的值。
s λ为按模最小特征值,||min ||5011i i s λλ≤≤=。
可使用反幂法求得。
1λ,501λ分别为最大特征值及最小特征值。
可使用幂法求出按模最大特征值,如结果为正,即为501λ,结果为负,那么为1λ。
使用位移的方式求得另一特征值即可。
2 求A 的与数4015011λλλμ-+=kk 最接近的特征值)39,...,2,1(=k k i λ。
题目可看成求以k μ为偏移量后,按模最小的特征值。
即以k μ为偏移量做位移,使用反幂法求出按模最小特征值后,加上k μ,即为所求。
3 求A 的(谱范数)条件数2)(A cond 和行列式detA 。
矩阵A 为非奇异对称矩阵,可知,||)(min max2λλ=A cond(1-1)其中m ax λ为按模最大特征值,min λ为按模最小特征值。
detA 可由LU 分解得到。
因LU 均为三角阵,那么其主对角线乘积即为A 的行列式。
二 算法实现1 幂法使用如下迭代格式:⎪⎪⎩⎪⎪⎨⎧⋅===⋅⋅⋅=------||max |)|sgn(max ||max /),,(111111)0()0(10k k k k k k k k Tn u u Ay u u u y u u u β任取非零向量 (2-1)终止迭代的控制理论使用εβββ≤--||/||1k k k , 实际使用εβββ≤--||/||||||1k k k(2-2)由于不保存A 矩阵中的零元素,只保存主对角元素a[501]及b,c 值。
清华大学高等数值分析 第一次实验作业
10
-10
0
100
200
300
400
500
600
700
800
900
迭代次数
图9
m=100时,Lanczos法求解Ax=b的收敛曲线
高等数值分析实验作业一
10
4
Lanzcos 算法的收敛曲线 (阶数 n=1002)
10
2
10
0
||rk||/||b||
10
-2
10
-4
10
-6
10
-8
10
-10
0
200
迭代次数
图12 m=10时,Minres法求解Ax=b的收敛曲线
10
2
Minres 算法的收敛曲线 (阶数 n=1002)
10
0
10
-2
||rk||/||b||
10
-4
10
-6
10
-8
10
-10
0
100
200
300
400
500
600
700
迭代次数
图13
10
2
m=50时,Minres法求解Ax=b的收敛曲线
10
0
Lanzcos 算法的收敛曲线 (阶数 n=1002)
m=10 m=50 m=100 m=400 m=800
10
-2
10
-4
||rk||/||b||
10
-6
10
-8
10
-10
10
-12
0
2
4
6
8
10
12
14
16
数值分析习题(含答案)
数值分析习题(含答案)第一章绪论姓名学号班级习题主要考察点:有效数字的计算、计算方法的比较选择、误差和误差限的计算。
1 若误差限为5105.0-?,那么近似数0.003400有几位有效数字?(有效数字的计算)解:2*103400.0-?=x ,325*10211021---?=?≤-x x 故具有3位有效数字。
2 14159.3=π具有4位有效数字的近似值是多少?(有效数字的计算)解:10314159.0?= π,欲使其近似值*π具有4位有效数字,必需41*1021-?≤-ππ,3*310211021--?+≤≤?-πππ,即14209.314109.3*≤≤π即取(3.14109 , 3.14209)之间的任意数,都具有4位有效数字。
3 已知2031.1=a ,978.0=b 是经过四舍五入后得到的近似值,问b a +,b a ?有几位有效数字?(有效数字的计算)解:3*1021-?≤-aa ,2*1021-?≤-b b ,而1811.2=+b a ,1766.1=?b a 2123****102110211021)()(---?≤?+?≤-+-≤+-+b b a a b a b a故b a +至少具有2位有效数字。
2123*****10210065.01022031.1102978.0)()(---?≤=?+?≤-+-≤-b b a a a b ba ab 故b a ?至少具有2位有效数字。
4 设0>x ,x 的相对误差为δ,求x ln 的误差和相对误差?(误差的计算)解:已知δ=-**xx x ,则误差为δ=-=-***ln ln xx x x x则相对误差为******ln ln 1ln ln ln xxx x xxx x δ=-=-5测得某圆柱体高度h 的值为cm h 20*=,底面半径r 的值为cm r 5*=,已知cm h h 2.0||*≤-,cm r r 1.0||*≤-,求圆柱体体积h r v2π=的绝对误差限与相对误差限。
数值分析习题集及答案[1](精)
数值分析习题集(适合课程《数值方法A 》和《数值方法B 》)长沙理工大学第一章 绪 论1. 设x >0,x 的相对误差为δ,求ln x 的误差.2. 设x 的相对误差为2%,求nx 的相对误差.3. 下列各数都是经过四舍五入得到的近似数,即误差限不超过最后一位的半个单位,试指出它们是几位有效数字: *****123451.1021,0.031,385.6,56.430,7 1.0.x x x x x =====⨯4. 利用公式(3.3)求下列各近似值的误差限:********12412324(),(),()/,i x x x ii x x x iii x x ++其中****1234,,,x x x x 均为第3题所给的数.5. 计算球体积要使相对误差限为1%,问度量半径R 时允许的相对误差限是多少?6. 设028,Y =按递推公式1n n Y Y -= ( n=1,2,…)计算到100Y .27.982(五位有效数字),试问计算100Y 将有多大误差?7. 求方程25610x x -+=的两个根,使它至少具有四位有效数字≈27.982).8. 当N 充分大时,怎样求211Ndx x +∞+⎰?9. 正方形的边长大约为100㎝,应怎样测量才能使其面积误差不超过1㎝2?10. 设212S gt =假定g 是准确的,而对t 的测量有±0.1秒的误差,证明当t 增加时S 的绝对误差增加,而相对误差却减小.11. 序列{}n y 满足递推关系1101n n y y -=-(n=1,2,…),若0 1.41y =≈(三位有效数字),计算到10y 时误差有多大?这个计算过程稳定吗?12. 计算61)f =, 1.4≈,利用下列等式计算,哪一个得到的结果最好?3--13. ()ln(f x x =,求f (30)的值.若开平方用六位函数表,问求对数时误差有多大?若改用另一等价公式ln(ln(x x =-计算,求对数时误差有多大?14. 试用消元法解方程组{101012121010;2.x x x x +=+=假定只用三位数计算,问结果是否可靠?15. 已知三角形面积1sin ,2s ab c =其中c 为弧度,02c π<<,且测量a ,b ,c 的误差分别为,,.a b c ∆∆∆证明面积的误差s ∆满足.s a b c s a b c ∆∆∆∆≤++第二章 插值法1. 根据(2.2)定义的范德蒙行列式,令2000011211121()(,,,,)11n n n n nn n n n x x x V x V x x x x x x x xx x ----==证明()n V x 是n 次多项式,它的根是01,,n x x -,且 101101()(,,,)()()n n n n V x V x x x x x x x ---=--.2. 当x = 1 , -1 , 2 时, f (x)= 0 , -3 , 4 ,求f (x )的二次插值多项式.3.4. 给出cos x ,0°≤x ≤90°的函数表,步长h =1′=(1/60)°,若函数表具有5位有效数字,研究用线性插值求cos x 近似值时的总误差界.5. 设0k x x kh =+,k =0,1,2,3,求032max ()x x x l x ≤≤.6. 设jx 为互异节点(j =0,1,…,n ),求证:i) 0()(0,1,,);nk kj jj x l x x k n =≡=∑ii) 0()()1,2,,).nk jj j xx l x k n =-≡0(=∑7. 设[]2(),f x C a b ∈且()()0f a f b ==,求证21()()().8max max a x ba xb f x b a f x ≤≤≤≤≤-"8. 在44x -≤≤上给出()xf x e =的等距节点函数表,若用二次插值求xe 的近似值,要使截断误差不超过610-,问使用函数表的步长h 应取多少? 9. 若2nn y =,求4n y ∆及4n y δ. 10. 如果()f x 是m 次多项式,记()()()f x f x h f x ∆=+-,证明()f x 的k 阶差分()(0)k f x k m ∆≤≤是m k -次多项式,并且()0(m l f x l +∆=为正整数).11. 证明1()k k k k k k f g f g g f +∆=∆+∆. 12. 证明110010.n n kkn n k k k k f gf g f g g f --+==∆=--∆∑∑13. 证明1200.n j n j y y y -=∆=∆-∆∑14. 若1011()n n n n f x a a x a x a x --=++++有n 个不同实根12,,,n x x x ,证明{10,02;, 1.1()n k njk n a k n j jx f x -≤≤-=-=='∑15. 证明n 阶均差有下列性质: i)若()()F x cf x =,则[][]0101,,,,,,n n F x x x cf x x x =;ii) 若()()()F x f x g x =+,则[][][]010101,,,,,,,,,n n n F x x x f x x x g x x x =+.16. 74()31f x x x x =+++,求0172,2,,2f ⎡⎤⎣⎦及0182,2,,2f ⎡⎤⎣⎦.17. 证明两点三次埃尔米特插值余项是(4)22311()()()()/4!,(,)k k k k R x f x x x x x x ++=ξ--ξ∈并由此求出分段三次埃尔米特插值的误差限.18. 求一个次数不高于4次的多项式()P x ,使它满足(0)(1)P P k =-+并由此求出分段三次埃尔米特插值的误差限. 19. 试求出一个最高次数不高于4次的函数多项式()P x ,以便使它能够满足以下边界条件(0)(0)0P P ='=,(1)(1)1P P ='=,(2)1P =.20. 设[](),f x C a b ∈,把[],a b 分为n 等分,试构造一个台阶形的零次分段插值函数()n x ϕ并证明当n →∞时,()n x ϕ在[],a b 上一致收敛到()f x .21. 设2()1/(1)f x x =+,在55x -≤≤上取10n =,按等距节点求分段线性插值函数()h I x ,计算各节点间中点处的()h I x 与()f x 的值,并估计误差.22. 求2()f x x =在[],a b 上的分段线性插值函数()h I x ,并估计误差.23. 求4()f x x =在[],a b 上的分段埃尔米特插值,并估计误差.试求三次样条插值并满足条件i) (0.25) 1.0000,(0.53)0.6868;S S '='= ii)(0.25)(0.53)0.S S "="=25. 若[]2(),f x C a b ∈,()S x 是三次样条函数,证明i)[][][][]222()()()()2()()()bbbbaaaaf x dx S x dx f x S x dx S x f x S x dx"-"="-"+""-"⎰⎰⎰⎰;ii) 若()()(0,1,,)i i f x S x i n ==,式中i x 为插值节点,且01n a x x x b =<<<=,则[][][]()()()()()()()()()b aS x f x S x dx S b f b S b S a f a S a ""-"="'-'-"'-'⎰.26. 编出计算三次样条函数()S x 系数及其在插值节点中点的值的程序框图(()S x 可用(8.7)式的表达式).第三章 函数逼近与计算1. (a)利用区间变换推出区间为[],a b 的伯恩斯坦多项式.(b)对()sin f x x =在[]0,/2π上求1次和三次伯恩斯坦多项式并画出图形,并与相应的马克劳林级数部分和误差做比较. 2. 求证:(a)当()m f x M ≤≤时,(,)n m B f x M ≤≤. (b)当()f x x =时,(,)n B f x x =. 3. 在次数不超过6的多项式中,求()sin 4f x x =在[]0,2π的最佳一致逼近多项式. 4. 假设()f x 在[],a b 上连续,求()f x 的零次最佳一致逼近多项式. 5. 选取常数a ,使301max x x ax≤≤-达到极小,又问这个解是否唯一?6. 求()sin f x x =在[]0,/2π上的最佳一次逼近多项式,并估计误差.7. 求()xf x e =在[]0,1上的最佳一次逼近多项式.8. 如何选取r ,使2()p x x r =+在[]1,1-上与零偏差最小?r 是否唯一?9. 设43()31f x x x =+-,在[]0,1上求三次最佳逼近多项式.10. 令[]()(21),0,1n n T x T x x =-∈,求***0123(),(),(),()T x T x T x T x .11. 试证{}*()nTx 是在[]0,1上带权ρ=的正交多项式.12. 在[]1,1-上利用插值极小化求11()f x tg x -=的三次近似最佳逼近多项式.13. 设()xf x e =在[]1,1-上的插值极小化近似最佳逼近多项式为()n L x ,若nf L ∞-有界,证明对任何1n ≥,存在常数n α、n β,使11()()()()(11).n n n n n T x f x L x T x x ++α≤-≤β-≤≤14. 设在[]1,1-上234511315165()128243843840x x x x x x ϕ=-----,试将()x ϕ降低到3次多项式并估计误差.15. 在[]1,1-上利用幂级数项数求()sin f x x =的3次逼近多项式,使误差不超过0.005.16. ()f x 是[],a a -上的连续奇(偶)函数,证明不管n 是奇数或偶数,()f x 的最佳逼近多项式*()n n F x H ∈也是奇(偶)函数.17. 求a 、b 使[]220sin ax b x dx π+-⎰为最小.并与1题及6题的一次逼近多项式误差作比较.18. ()f x 、[]1(),g x C a b ∈,定义 ()(,)()();()(,)()()()();b baaa f g f x g x dxb f g f x g x dx f a g a =''=''+⎰⎰问它们是否构成内积?19. 用许瓦兹不等式(4.5)估计6101x dx x +⎰的上界,并用积分中值定理估计同一积分的上下界,并比较其结果.20. 选择a ,使下列积分取得最小值:1122211(),x ax dx x ax dx----⎰⎰.21. 设空间{}{}10010121,,,span x span x x 1ϕ=ϕ=,分别在1ϕ、2ϕ上求出一个元素,使得其为[]20,1x C ∈的最佳平方逼近,并比较其结果.22. ()f x x =在[]1,1-上,求在{}2411,,span x x ϕ=上的最佳平方逼近.23.sin (1)arccos ()n n x u x +=是第二类切比雪夫多项式,证明它有递推关系()()()112n n n u x xu x u x +-=-.24. 将1()sin2f x x=在[]1,1-上按勒让德多项式及切比雪夫多项式展开,求三次最佳平方逼近多项式并画出误差图形,再计算均方误差.25. 把()arccos f x x =在[]1,1-上展成切比雪夫级数.26.2y a bx =+.27.用最小二乘拟合求.29. 编出用正交多项式做最小二乘拟合的程序框图. 30. 编出改进FFT 算法的程序框图. 31. 现给出一张记录{}{}4,3,2,1,0,1,2,3k x =,试用改进FFT 算法求出序列{}k x 的离散频谱{}k C (0,1,,7).k =第四章 数值积分与数值微分1. 确定下列求积公式中的待定参数,使其代数精度尽量高,并指明所构造出的求积公式所具有的代数精度:(1)101()()(0)()hhf x dx A f h A f A f h --≈-++⎰; (2)21012()()(0)()hh f x dx A f h A f A f h --≈-++⎰;(3)[]1121()(1)2()3()/3f x dx f f x f x -≈-++⎰;(4)[][]20()(0)()/1(0)()hf x dx h f f h ah f f h ≈++'-'⎰.2. 分别用梯形公式和辛普森公式计算下列积分:(1)120,84xdx n x =+⎰; (2)1210(1),10x e dx n x --=⎰;(3)1,4n =⎰;(4),6n =.3. 直接验证柯特斯公式(2.4)具有5次代数精度.4. 用辛普森公式求积分10x e dx-⎰并计算误差. 5. 推导下列三种矩形求积公式:(1)2()()()()()2ba f f x dxb a f a b a 'η=-+-⎰; (2)2()()()()()2baf f x dx b a f b b a 'η=---⎰; (3)3()()()()()224baa b f f x dx b a f b a +"η=-+-⎰. 6. 证明梯形公式(2.9)和辛普森公式(2.11)当n →∞时收敛到积分()baf x dx⎰.7. 用复化梯形公式求积分()baf x dx⎰,问要将积分区间[],a b 分成多少等分,才能保证误差不超过ε(设不计舍入误差)?8.1x e dx-,要求误差不超过510-.9. 卫星轨道是一个椭圆,椭圆周长的计算公式是S a =θ,这里a 是椭圆的半长轴,c 是地球中心与轨道中心(椭圆中心)的距离,记h 为近地点距离,H 为远地点距离,6371R =公里为地球半径,则(2)/2,()/2a R H h c H h =++=-.我国第一颗人造卫星近地点距离439h =公里,远地点距离2384H =公里,试求卫星轨道的周长.10. 证明等式3524sin3!5!n n nnππππ=-+-试依据sin(/)(3,6,12)n n n π=的值,用外推算法求π的近似值.11. 用下列方法计算积分31dyy ⎰并比较结果.(1) 龙贝格方法;(2) 三点及五点高斯公式;(3) 将积分区间分为四等分,用复化两点高斯公式.12. 用三点公式和五点公式分别求21()(1)f x x =+在x =1.0,1.1和1.2处的导数值,并估计误()f x第五章 常微分方程数值解法1. 就初值问题0)0(,=+='y b ax y 分别导出尤拉方法和改进的尤拉方法的近似解的表达式,并与准确解bx ax y +=221相比较。
数值分析作业题(1)
第一章 误差与算法1. 误差分为有__模型误差___, _观测误差___, __方法误差____, ___舍入误差____, Taylor 展开式近似表达函数产生的误差是_方法误差 .2. 插值余项是插值多项式的 方法误差。
0.2499作为1/4的近似值, 有几位有效数字?00.24990.249910,0m =⨯=即,031|0.2499|0.00010.5100.510,34m n n ---=<⨯=⨯=即22 3.1428751...,7=作为圆周率的近似值,误差和误差限分别是多少,有几位有效数字?2133.142875 3.14159260.00126450.5100.510---=<⨯=⨯有3位有效数字.* 有效数字与相对误差的关系3. 利用递推公式计算积分110,1,2,...,9n x n I x e dx n -==⎰错误!未找到引用源。
, 建立稳定的数值算法。
该算法是不稳定的。
因为:11()()...(1)!()n n n I n I n I εεε-=-==-111n n I I n n -=-, 10110I =4. 衡量算法优劣的指标有__时间复杂度,__空间复杂度_.时间复杂度是指: , 两个n 阶矩阵相乘的乘法次数是 , 则称两个n 阶矩阵相乘这一问题的时间复杂度为 .二 代数插值1.根据下表数据建立不超过二次的Lagrange 和Newton 插值多项式, 并写出误差估计式, 以及验证插值多项式的唯一性。
x 0 1 4f(x) 1 9 3Lagrange:设0120120,1,4;()1()9()3x x x f x f x f x ======则,, 对应 的标准基函数 为:1200102()()(1)(x 4)1()(1)(x 4)()()(01)(04)4x x x x x l x x x x x x ----===------ 1()...l x =2()...l x =因此, 所求插值多项式为:220()()()....i i i P x f x l x ===∑ (3)2()()(0)(1)(x 4)3!f R x x x ξ=--- Newton:构造出插商表:xi f(xi ) 一 二 三0 11 9 84 3 -2 -5/2所以, 所求插值多项式为:2001001201()()[,]()[,,]()()518(0)(0)(1)2...P x f x f x x x x f x x x x x x x x x x =+-+--=+----=插值余项: 2()[0,1,4,](0)(1)(x 4)R x f x x x =---2. 已知函数f(0)=1,f(1)=3,f(2)=7,则f[0,1]=___2________, f[0,1,2]=____1______)('],[000x f x x f =3.过0,1两节点构造三次Hermite 插值多项式, 使得满足插值条件: f(0)=1. .’(0)=... f(1.=2. .’(1)=1设0101010,1,()1()2'()0,'()1x x f x f x f x f x ======则,, 写出插商表:xi f(xi) 一 二 三0 10 1 01 a 1 11 a 1 0 a-1因此, 所求插值多项式为:插值余项:222()[0,0,1,1,](1)R x f x x x =-4.求f(x)=sinx 在[a,b]区间上的分段线性插值多项式, 并写出误差估计式。
(完整版)数值分析第一次作业
问题1:20.给定数据如下表:试求三次样条插值S(x),并满足条件 (1)S`(0.25)=1.0000,S`(0.53)=0.6868; (2)S ’’(0.25)=S ’’(0.53)=0。
分析:本问题是已知五个点,由这五个点求一三次样条插值函数。
边界条件有两种,(1)是已知一阶倒数,(2)是已知自然边界条件。
对于第一种边界(已知边界的一阶倒数值),可写出下面的矩阵方程。
⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡432104321034322110d M M M M M 200020000020022d d d d λμμλμλμλ其中μj =j1-j 1-j h h h +,λi=j1-j j h h h +,dj=6f[x j-1,x j ,x j+1], μn =1,λ0=1对于第一种边界条件d 0=0h 6(f[x 0,x 1]-f 0`),d n =1-n h 6(f`n-f `[x n-1,x n ]) 解:由matlab 计算得:由此得矩阵形式的线性方程组为:⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡ 2.1150-2.4286-3.2667-4.3143-5.5200-M M M M M 25714.00001204286.000004000.026000.0006429.023571.0001243210解得 M 0=-2.0286;M 1=-1.4627;M 2= -1.0333; M 3= -0.8058; M 4=-0.6546S(x)=⎪⎪⎩⎪⎪⎨⎧∈-+-+-∈-+-+-∈-+-+-∈-+-+-]53.0,45.0[x 5.40x 9.1087x 35.03956.8.450-x 1.3637-x .5301.67881- ]45.0,39.0[x 9.30x 11.188x 54.010.418793.0-x 2.2384-x .450(2.87040-]39.0,30.0[x 03.0x 6.9544x 9.30 6.107503.0-x 1.9136-x .3902.708779-]30.0,25.0[x 5.20x 10.9662x 0.3010.01695.20-x 4.8758-x .3006.76209-33333333),()()()(),()()()),()()()(),()()()(Matlab 程序代码如下:function tgsanci(n,s,t) %n代表元素数,s,t代表端点的一阶导。
数值分析第一章作业
数值分析第一章作业1. 数值计算方法设计的基本手段是().(A )近似 (B ) 插值 (C ) 拟合 (D ) 迭代2. 为了在有限时间内得到结果,用有限过程取代无限过程所产生的近似解与精 确解之间的误差称为().(A )舍入误差 (B ) 截断误差 (C ) 测量误差 (D ) 绝对误差3. 由于计算机的字长有限,原始数据在机器内的表示以及进行算术运算所产生 的误差统称为().(A )舍入误差 (B ) 截断误差 (C )相对误差 (D ) 绝对误差 4. 数值计算方法研究的核心问题可以概括为()对计算结果的影响. (A )算法的稳定性(B ) 算法的收敛性 (C )算法的复杂性 (D ) 近似 N dx5. 当N 充分大时,利用下列各式计算I 二 半,等式()得到的结果最好. •N 1 +x(A ) I =arcta n (N 1)-arcta n (N ) (B )I 二 arcta n (N 2 N 1) 6.计算(、、2-1)6,取;2 1.4,利用下列哪个公式得到的结果最好 ?为什么?7. 计算球体的体积,已知半径的相对误差限不超过 3 10”,则计算所得体积的相 对误差限如何估计?8. 设x 0,近似值x 的相对误差限为:,试估计In x 的误差限.9. 计算圆柱体的体积,已知底面半径r 及圆柱高h 的相对误差限均不超过、:,则 计算所得体积的相对误差限如何估计?.10. 用秦九韶算法求f (x ) = 4x 3「3x 2 • x 「1在x = 2处的值.111. 已知近似值 X =1.0000 的误差限;(x )=1 10,, f (x )二丄 X 2,求;(f (x )),并16说明X”及f (X”)的各有几位有效数字.(C)I = arcta n( 2 N 2 N 1) (D)(A) 1(;2 1)6 (B) (3-2运3 (C) 1(3 - 2 ・(D) 99 - 70、212. 设a为非零常数,已知y0的近似值y0,由递推式y n =ay n斗计算序列{y n}的近似值,分析该算法的稳定性.。
《数值分析》练习题及答案解析
《数值分析》练习题及答案解析第一章 绪论主要考查点:有效数字,相对误差、绝对误差定义及关系;误差分类;误差控制的基本原则;。
1. 3.142和3.141分别作为π的近似数具有( )和( )位有效数字.A .4和3B .3和2C .3和4D .4和4 答案:A2. 设 2.3149541...x *=,取5位有效数字,则所得的近似值x=___________ .答案:2.31503.若近似数2*103400.0-⨯=x 的绝对误差限为5105.0-⨯,那么近似数有几位有效数字 解:2*103400.0-⨯=x ,325*10211021---⨯=⨯≤-x x 故具有3位有效数字。
4 . 14159.3=π具有4位有效数字的近似值是多少?解:10314159.0⨯= π,欲使其近似值*π具有4位有效数字,必需!41*1021-⨯≤-ππ,3*310211021--⨯+≤≤⨯-πππ,即14209.314109.3*≤≤π即取( , )之间的任意数,都具有4位有效数字。
第二章 非线性方程求根 主要考查点:二分法N 步后根所在的区间,及给定精度下二分的次数计算;非线性方程一般迭代格式的构造,(局部)收敛性的判断,迭代次数计算; 牛顿迭代格式构造;求收敛阶;1.用二分法求方程012=--x x 的正根,要求误差小于0.05。
(二分法)解:1)(2--=x x x f ,01)0(<-=f ,01)2(>=f ,)(x f 在[0,2]连续,故[0,2]为函数的有根区间。
"(1)计算01)1(<-=f ,故有根区间为[1,2]。
(2)计算041123)23()23(2<-=--=f ,故有根区间为]2,23[。
(3)计算0165147)47()47(2>=--=f ,故有根区间为]47,23[。
(4)计算06411813)813()813(2>=--=f ,故有根区间为]813,23[。
数值分析练习题附答案
目录一、绪论------------------------------------------------------------------------------------- 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 分量迭代格式以及相应的迭代矩阵,并求解。
数值分析(在线作业)
数值分析(在线作业)单选:1、设是经过四舍五入后得到的近似值,则分别有几位有效数字?(A )A、3,3B、2,4C、3,4D、4,32、计算球的体积时,为使其相对误差限为1%,测量半径R时,相对误差最大为(B )A、1%B、0.33%C、3%D、9.9%3、超定方程组的最小二乘解为(A)A、B、C、D、4、已知则为(D)A、2B、6C、-6D、85、已知A=则为(D)A、0.367B、0C、-34D、396016、设方程组Ax=b,其中则A能进行Cholesky分解(即A=LLT,其中L为下三角矩阵)时,取值范围为(A )A、B、C、D、7、设,则差商为(A )A、1B、-1C、0D、28、设,则差商为(C)A、1B、-1C、0D、29、已知函数表为分别用Newton向前、向后插值公式计算f(1.5),f(3.7)的近似值(B )A、B、C、D、10、设,则的Newton迭代公式为(A )A、B、C、D、11、设,则当的Newton迭代收敛时,的取值范围为(A)A、B、C、D、12、已知325413有6位有效数字,则绝对误差限为(B )A、0.05B、0.5C、0.005D、513、已知,则下列哪个多项式为的二次最佳平方逼近(B)A、B、C、D、14、计算积分,若用复合Simpson公式进行近似计算,并且想误差不超过则至少要进行多少等分?( C )A、3B、6C、12D、2415、给定线性方程组,其中,,使用迭代公式,若迭代收敛,则的取值范围为(D)A、B、C、D、16、已知,则的谱半径为(C )A、3B、1C、7D、817、已知,则的拉格朗日插值多项式为(A )A、B、C、D、18、已知,则用梯形公式计算积分与精确值相比(A)A、偏大B、偏小C、相等D、不确定19、对于线性方程组,则雅克比迭代与高斯-赛德尔迭代的敛散性分别为(A )A、收敛发散B、收敛收敛C、发散收敛D、发散发散20、已知函数值,则均差为(D )A、B、6 C、10 D、2。
北航研究生数值分析编程大作业1
数值分析大作业一、算法设计方案1、矩阵初始化矩阵[]501501⨯=ij a A 的下半带宽r=2,上半带宽s=2,设置矩阵[][]5011++s r C ,在矩阵C 中检索矩阵A 中的带内元素ij a 的方法是:j s j i ij c a ,1++-=。
这样所需要的存储单元数大大减少,从而极大提高了运算效率。
2、利用幂法求出5011λλ,幂法迭代格式:0111111nk k k k kk T k k k u R y u u Ay y u ηηβ------⎧∈⎪⎪=⎪=⎨⎪=⎪⎪=⎩非零向量 当1210/-≤-k k βββ时,迭代终止。
首先对于矩阵A 利用幂法迭代求出一个λ,然后求出矩阵B ,其中I A B λ-=(I 为单位矩阵),对矩阵B 进行幂法迭代,求出λ',之后令λλλ+'='',比较的大小与λλ'',大者为501λ,小者为1λ。
3、利用反幂法求出ik s λλ,反幂法迭代格式:0111111nk k k k kk T k k k u R y u Au y y u ηηβ------⎧∈⎪⎪=⎪=⎨⎪=⎪⎪=⎩非零向量 当1210/-≤-k k βββ时,迭代终止,1s k λβ=。
每迭代一次都要求解一次线性方程组1-=k k y Au ,求解过程为:(1)作分解LU A =对于n k ,...,2,1=执行[][]s k n r k k k i c c c c c n s k k k j c cc c k s ks k t k s k r i t t s t i k s k i k s k i js j t k s j r k t t s t k j s j k j s j k <+++=-=++=-=+++----=++-++-++-++----=++-++-++-∑∑);,min(,...,2,1/)(:),min(,...,1,:,1,11),,1max(,1,1,1,11),,1max(,1,1,1(2)求解y Ux b Ly ==,(数组b 先是存放原方程组右端向量,后来存放中间向量y))1,...,2,1(/)(:/:),...,3,2(:,1),min(1.1.11),1max(,1--=-===-=+++-++-+--=++-∑∑n n i c x c b x c b x n i b c b b i s t n s i i t t s t i i i ns n n ti r i t t s t i i i使用反幂法,直接可以求得矩阵按模最小的特征值s λ。
北航数值分析作业第一题
数值分析作业第一题一、 算法设计方案利用带状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);}三、计算结果:四、结果分析迭代初始向量的选择对果有一定的影响,选择不同的初始向量可能会得到不同阶的特征值。
数值分析习题(含标准答案)
数值分析习题(含标准答案)
一、选择题(每题5分,共20分)
1. 下列哪个选项不属于数值分析的研究范畴?
A. 数值微分
B. 数值积分
C. 数值逼近
D. 数据库管理
答案:D
2. 在数值分析中,求解线性方程组常用的方法有?
A. 高斯消元法
B. 迭代法
C. 拉格朗日乘数法
D. 上述所有方法
答案:D
3. 下列哪种方法适用于求解非线性方程组?
A. 牛顿法
B. 梯度下降法
C. 高斯消元法
D. 上述所有方法
答案:D
4. 在数值积分中,下列哪种方法具有最高的精度?
A. 梯形法则
B. 辛普森法则
C. 高斯求积法
D. 上述所有方法
答案:C
二、填空题(每题5分,共20分)
1. 数值分析的主要目的是通过有限步骤的运算,对数学问题进行近似求解。
2. 在数值微分中,常用的差分公式有前向差分、后向差分和中心差分。
3. 数值逼近的主要方法包括插值法和逼近法。
4. 在数值积分中,常用的方法有梯形法则、辛普森法则和高斯求积法。
三、解答题(每题10分,共30分)
1. 已知函数 f(x) = e^x,求其在 x = 0.5 处的导数。
答案:f'(0.5) ≈ 1.6487
2. 求解线性方程组 2x + 3y = 5,4x y = 1。
答案:x ≈ 0.625,y ≈ 1.25
3. 已知函数 f(x) = x^3 3x^2 + 4,求其在区间 [0, 2] 上的积分。
答案:f(x) 在区间 [0, 2] 上的积分≈ 3.6667。
数值分析试题及答案
数值分析试题及答案一、单项选择题(每题3分,共30分)1. 线性代数中,矩阵A的逆矩阵记作()。
A. A^TB. A^-1C. A^+D. A*答案:B2. 插值法中,拉格朗日插值多项式的基函数是()。
A. 多项式B. 指数函数C. 正弦函数D. 余弦函数答案:A3. 在数值积分中,梯形规则的误差是()阶的。
A. O(h^2)B. O(h^3)C. O(h)D. O(1/h)答案:A4. 求解线性方程组时,高斯消元法的基本操作不包括()。
A. 行交换B. 行乘以非零常数C. 行加行D. 行除以非零常数答案:D5. 非线性方程f(x)=0的根的迭代法中,收敛的必要条件是()。
A. f'(x)≠0B. f'(x)=0C. |f'(x)|<1D. |f'(x)|>1答案:C6. 利用牛顿法求解非线性方程的根时,需要计算()。
A. 函数值B. 函数值和导数值C. 函数值和二阶导数值D. 函数值、一阶导数值和二阶导数值答案:B7. 矩阵的特征值和特征向量是()问题中的重要概念。
A. 线性方程组B. 特征值问题C. 线性规划D. 非线性方程组答案:B8. 在数值分析中,条件数是衡量矩阵()的量。
A. 稳定性B. 可逆性C. 正交性D. 稀疏性答案:A9. 利用龙格现象说明,高阶插值多项式在区间端点附近可能产生()。
A. 振荡B. 收敛C. 稳定D. 单调答案:A10. 雅可比迭代法和高斯-塞德尔迭代法都是求解线性方程组的()方法。
A. 直接B. 迭代C. 精确D. 近似答案:B二、填空题(每题4分,共20分)11. 线性代数中,矩阵A的行列式记作________。
答案:det(A) 或 |A|12. 插值法中,牛顿插值多项式的基函数是________。
答案:差商13. 在数值积分中,辛普森规则的误差是________阶的。
答案:O(h^4)14. 求解线性方程组时,迭代法的基本思想是从一个初始近似解出发,通过不断________来逼近精确解。
北航数值分析大作业一
北航数值分析大作业一————————————————————————————————作者: ————————————————————————————————日期:ﻩ《数值分析B》大作业一SY1103120 朱舜杰一.算法设计方案:1.矩阵A的存储与检索将带状线性矩阵A[501][501]转存为一个矩阵MatrixC[5][501] . 由于C语言中数组角标都是从0开始的,所以在数组MatrixC[5][501]中检索A的带内元素a ij的方法是:A的带内元素aij=C中的元素ci-j+2,j2.求解λ1,λ501,λs①首先分别使用幂法和反幂法迭代求出矩阵按摸最大和最小的特征值λmax和λmin。
λmin即为λs;如果λmax>0,则λ501=λmax;如果λmax<0,则λ1=λmax。
②使用带原点平移的幂法(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<iostream.h>#include<stdlib.h>#include<math.h>#include<float.h>#include<iomanip.h>#include<time.h>#define E 1.0e-12/*定义全局变量相对误差限*/int max2(inta,intb)ﻩ/*求两个整型数最大值的子程序*/{ﻩif(a>b)return a;elsereturn b;}int min2(int a,intb) /*求两个整型数最小值的子程序*/{if(a>b)return b;elsereturn a;}int max3(int a,int b,intc)/*求三整型数最大值的子程序*/{int t;ﻩif(a>b)ﻩt=a;ﻩelset=b;ﻩif(t<c) t=c;return(t);}voidassignment(double array[5][501]) /*将矩阵A转存为数组C[5][501]*/{int i,j,k;//所有元素归零for(i=0;i<=4;){for(j=0;j<=500;){array[i][j]=0;ﻩj++;}ﻩ i++;}//第0,4行赋值for(j=2;j<=500;){ﻩk=500-j;array[0][j]=-0.064;array[4][k]=-0.064;ﻩj++;}//第1,3行赋值for(j=1;j<=500;){ﻩﻩk=500-j;array[1][j]=0.16;array[3][k]=0.16;ﻩ j++;}//第2行赋值for(j=0;j<=500;){k=j;ﻩﻩj++;array[2][k]=(1.64-0.024*j)*sin((double)(0.2*j))-0.64*exp((do uble)(0.1/j));}}doublemifa(double u[501],double array[5][501],double p) /*带原点平移的幂法*/{int i,j; /* u[501]为初始迭代向量*/double a,b,c=0; /* array[5][501]为矩阵A的转存矩阵*/ﻩdouble y[501]; /*p为平移量*/ﻩfor(;;){a=0;ﻩb=0;/*选用第一种迭代格式*///求ηk-1for(i=0;i<=500;i++){ﻩa=a+u[i]*u[i];ﻩ}a=sqrt(a);//求y k-1for(i=0;i<=500;i++){ﻩﻩy[i]=u[i]/a;}//求u kfor(i=0;i<=500;i++)ﻩ{ﻩu[i]=0;for(j=max2(i-2,0);j<=min2(i+2,500);j++)ﻩ{u[i]+=array[i-j+2][j]*y[j];ﻩ}ﻩu[i]=u[i]-p*y[i]; /*引入平移量*/ﻩ}//求βkﻩfor(i=0;i<=500;i++)ﻩ{ﻩﻩb+=y[i]*u[i];ﻩ}ﻩif(fabs((b-c)/b)<=E) /*达到精度水平,迭代终止*/ ﻩbreak;c=b;ﻩ}return(b+p);/*直接返回A的特征值*/}voidchuzhi(double a[]) /*用随机数为初始迭代向量赋值*/{inti;srand((int)time(0));for(i=0;i<=500;i++)ﻩ{ﻩﻩa[i]=(10.0*rand()/RAND_MAX);/*生成0~10的随机数*/ }}void chuzhi2(double a[],int j)/*令初始迭代向量为e i*/{int i;ﻩfor(i=0;i<=500;i++)ﻩ{a[i]=0;ﻩ}a[j]=1;}void LU(double array[5][501]) /*对矩阵A进行Doolittle分解*/{/*矩阵A转存在C[5][501]中*/ﻩint j,k,t;/*分解结果L,U分别存在C[5][501]的上半部与下半部*/ﻩfor(k=0;k<=500;k++)ﻩ{ﻩﻩfor(j=k;j<=min2((k+2),500);j++)ﻩﻩ{ﻩﻩfor(t=max3(0,k-2,j-2);t<=(k-1);t++)ﻩ{ﻩﻩarray[k-j+2][j]-=array[k-t+2][t]*array[t-j+2][j]; ﻩﻩ}ﻩ}ﻩif(k<500)ﻩfor(j=k+1;j<=min2((k+2),500);j++){ﻩﻩfor(t=max3(0,k-2,j-2);t<=(k-1);t++){ﻩﻩarray[j-k+2][k]-=array[j-t+2][t]*array[t-k+2][k];ﻩﻩ}array[j-k+2][k]=array[j-k+2][k]/array[2][k];}ﻩ}}double fmifa(double u[501],double array[5][501],double p){ /*带原点平移的反幂法*/ﻩinti,j;ﻩdoublea,b,c=0;ﻩdoubley[501];//引入平移量for(i=0;i<=500;i++)ﻩ{array[2][i]-=p;ﻩ}//先将矩阵Doolittle分解LU(array);ﻩfor(;;){a=0;b=0;//求ηk-1for(i=0;i<=500;i++){ﻩﻩa=a+u[i]*u[i];}a=sqrt(a);//求yk-1ﻩfor(i=0;i<=500;i++)ﻩ{y[i]=u[i]/a;ﻩ}//回带过程,求解u kfor(i=0;i<=500;i++)ﻩ{ﻩu[i]=y[i];ﻩ}for(i=1;i<=500;i++)ﻩ{ﻩfor(j=max2(0,(i-2));j<=(i-1);j++)ﻩ{ﻩﻩu[i]-=array[i-j+2][j]*u[j];ﻩ}ﻩﻩ}ﻩu[500]=u[500]/array[2][500];for(i=499;i>=0;i--)ﻩ{for(j=i+1;j<=min2((i+2),500);j++)ﻩﻩ{ﻩﻩu[i]-=array[i-j+2][j]*u[j];ﻩ}ﻩﻩu[i]=u[i]/array[2][i];ﻩ}//求βkfor(i=0;i<=500;i++){ﻩﻩb+=y[i]*u[i];}if(fabs((b-c)/b)<=E) /*达到精度要求,迭代终止*/break;ﻩc=b;}return(p+(1/b)); /*直接返回距离原点P最接近的A的特征值*/}//主函数main(){ int i;double d1,d501,ds,d,a;ﻩdouble u[501];ﻩdoubleMatrixC[5][501];printf(" 《数值分析》计算实习题目第一题\n");ﻩprintf("SY1103120朱舜杰\n");//将矩阵A转存为MatrixCassignment(MatrixC);//用带原点平移的幂法求解λ1,λ501chuzhi(u);ﻩd=mifa(u,MatrixC,0);chuzhi(u);ﻩa=mifa(u,MatrixC,d);ﻩif(d<0)ﻩ{ﻩﻩd1=d;ﻩd501=a;ﻩ}elseﻩ{ﻩﻩﻩd501=d;ﻩﻩd1=a;ﻩ}printf("λ1=%.12e\n",d1);ﻩprintf("λ501=%.12e\n",d501);//用反幂法求λschuzhi(u);ds=fmifa(u,MatrixC,0);printf("λs=%.12e\n",ds);//用带原点平移的反幂法求λikfor(i=1;i<=39;i++){ﻩa=d1+(i*(d501-d1))/40;ﻩﻩassignment(MatrixC);ﻩchuzhi(u);ﻩﻩd=fmifa(u,MatrixC,a);ﻩﻩprintf("与μ%02d=%+.12e最接近的特征值λi%02d=%+.12e\n",i,a,i,d); ﻩ}//求A的条件数d=fabs((d1/ds));ﻩprintf("A的(谱范数)条件数cond<A>2=%.12e\n",d);//求detAﻩassignment(MatrixC);LU(MatrixC);ﻩa=1;for(i=0;i<=500;i++){a*=MatrixC[2][i];}printf("行列式detA=%.12e\n",a);//测试不同迭代初始向量对λ1计算结果的影响。
数值分析习题与答案
第一章绪论习题一1.设x>0,x*的相对误差为δ,求f(x)=ln x的误差限。
解:求lnx的误差极限就是求f(x)=lnx的误差限,由公式(1.2.4)有已知的相对误差满足,而,故即2.有5位有效数字,其误差限,相对误差限有2位有效数字,有5位有效数字,3.(1)(2)解:要使计算较准确,主要是避免两相近数相减,故应变换所给公式。
(1)(2)4.近似数x*=0.0310,是 3 位有数数字。
5.计算取,利用:式计算误差最小。
1. 给定的数值表解:计(误差限,因误差限,故2. 在-4≤x≤4上给出的等距节点函数表,若用二次插值法求的近似值,要使误差不超过,函数表的步长h应取多少?解:用误差估计式(5.8),令因得3. 若,求和.解:由均差与导数关系于是4. 若互异,求的值,这里解:,由均差对称性可知当有而当P=n+1时于是得5. 求证.解:解:只要按差分定义直接展开得6. 已知由式由此可得f(0.23) N3(0.23)=0.23203由余项表达式(5.15)可得由于7. 给定f(x)=cosx的函数表用Newton等距插值公式计算cos 0.048及cos 0.566的近似值并估计误差解:先构造差分表计算,用误差估计由公式(5.17)得其中计算时用Newton后插公式(5.18)误差估计由公式(5.19)得这里8.使,显然,再令由9. 令称为第二类的表达式,并证明是[]上带权解:因10. 用最小二乘法求一个形如的经验公式,使它拟合下列数据,并计算均方误差.解:本题给出拟合曲线,即,故法方程系数解得最小二乘拟合曲线为11.满足条件的插值多项式(2) ,).设为互异节点,=( ),=( ).(4) 设是区间[0,1]上权函数为ρ(x)=x的最高项系数为1的正交多项式序列,其中,则=( ),=( )答:(1)(2)(3)(4)习题1.解 6.13)对)求出,按式()求得2. 用由(6.8)式估计误差,因,故3. 确定下列求积公式中的待定参数,使其代数精确度尽量高,并指明求积公式所具有的代数精确度.(1)(2)(3)解:本题直接利用求积公式精确度定义,则可突出求积公式的参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 误差与算法1. 误差分为有__模型误差___, _观测误差___, __方法误差____,___舍入误差____, Taylor 展开式近似表达函数产生的误差是_方法误差 .2. 插值余项是插值多项式的 方法误差。
3. 0.2499作为1/4的近似值,有几位有效数字?00.24990.249910,0m =⨯=即,031|0.2499|0.00010.5100.510,34m n n ---=<⨯=⨯=即223.1428751...,7=作为圆周率的近似值,误差和误差限分别是多少,有几位有效数字?2133.142875 3.14159260.00126450.5100.510---=<⨯=⨯有3位有效数字.* 有效数字与相对误差的关系 4. 利用递推公式计算积分110,1,2,...,9n x n I x e dx n -==⎰, 建立稳定的数值算法。
111111111011,n 2,...,9n x n x n x n x n n I x e dx x dex en x e dx nI ------===-=-=⎰⎰⎰该算法是不稳定的。
因为:11()()...(1)!()nn n I n I n I εεε-=-==- 111n n I I n n-=-, 10110I =5. 衡量算法优劣的指标有__时间复杂度,__空间复杂度_.6. 时间复杂度是指:.算法需耗费时间的度量, 两个n 阶矩阵相乘的乘法次数是 3n ,则称两个n 阶矩阵相乘这一问题的时间复杂度为3()O n .二 代数插值1.根据下表数据建立不超过二次的Lagrange 和Newton 插值多项式,并写出误差估计式,以及验证插值多项式的唯一性。
x 0 1 4 f(x) 1 9 3 Lagrange:设0120120,1,4;()1()9()3x x x f x f x f x ======则,, 对应i x 的标准基函数)(x l i 为:1200102()()(1)(x 4)1()(1)(x 4)()()(01)(04)4x x x x x l x x x x x x ----===------1()...l x =2()...l x =因此,所求插值多项式为:220()()()....i i i P x f x l x ===∑(3)2()()(0)(1)(x 4)3!f R x x x ξ=---Newton:构造出插商表:xi f(xi ) 一 二 三 0 1 1 9 8 4 3 -2 -5/2 所以, 所求插值多项式为:2001001201()()[,]()[,,]()()518(0)(0)(1)2...P x f x f x x x x f x x x x x x x x x x =+-+--=+----=插值余项:2()[0,1,4,](0)(1)(x 4)R x f x x x =---2. 已知函数f(0)=1,f(1)=3,f(2)=7,则f[0,1]=___2________, f[0,1,2]=____1______)('],[000x f x x f =3. 过0,1两节点构造三次Hermite 插值多项式,使得满足插值条件:f (0)=1, f ’(0)=0 , f (1) =2, f ’(1)=1设0101010,1,()1()2'()0,'()1x x f x f x f x f x ======则,,写出插商表:xi f(xi) 一 二 三 0 1 0 1 0 1 a 1 1 1 a 1 0 a-1因此, 所求插值多项式为:222000000100011012232()()[,]()[,,]()[,,,]()()10(0)1(0)1(0)(1)21P x f x f x x x x f x x x x x f x x x x x x x x x x x x x x =+-+-+--=+-+----=-++插值余项:222()[0,0,1,1,](1)R x f x x x =-4. 求f (x)=sin x 在[a,b]区间上的分段线性插值多项式,并写出误差估计式。
将[a,b]区间等分n 份,,,0,1,...,i b ah x a ih i n n-==+= 则插值标准基函数是:10101,()0,i x x x x x l x hx x +-⎧≤≤⎪=-⎨⎪>⎩1111011,(),,1,...,10,[,)(,]i i ii i i i i i n x x x x x h x x l x x x x i n hx x x x x --++-+-⎧≤≤⎪⎪-⎪=≤≤=-⎨-⎪∈⋃⎪⎪⎩111,()0,n n n n n x x x x x l x h x x ----⎧≤≤⎪=⎨⎪<⎩10sin()()ni i i P x l x ==∑误差:221142)('')()()(Ch h f x P x f x R <===ξ第三章 数据拟合1.已知数据如下: X : -2 -1 0 1 2 Y : 0 1 2 1 0 求二次多项式拟合函数设所求二次多项式拟合函数为:22012P a a x a x =++, 则法方程组为:555221110231234221ii i i i i i i i i iii i i x x a y x x x a x y x x x a x y ===⎛⎫ ⎪⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭ ⎪ ⎪⎝⎭∑∑∑∑∑∑∑∑∑∑∑∑ 即:012501040101801018342a a a ⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪= ⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭⎝⎭⎝⎭ 解之得: 。
第四章 数值积分与微分0. 确定系数使得求积公式的代数精度尽可能高 )()0()()(101h f A f A h f A dx x f hh++-≈--⎰令:2()1,,f x x x =, 求得A1,A0,A-1 , 验证 34(),...f x x x = 1.用梯形、Simpson 公式求⎰10dx e x101011()(1)22xe dx e e e ≈+=+⎰2.确定Gauss 积分⎰+=101100)()()(x f A x f A dx x f x (1) 先求积分区间[0,1]上带权函数的正交多项式的零点。
令2()f x x bx c =++,由正交多项式性质:00()0()0x dx x xdx ⎧=⎪⎨⎪=⎩⎰⎰ 解之得:b= c= , f(x)的零点为:x0, x1 (2)再积分系数。
由该积分公式对1次、2次多项式精确成立,令f(x)=1,x0100112325dx A AA x A x⎧==+⎪⎪⎨⎪==+⎪⎩⎰⎰,解之得:A0,A1* 复化梯形公式的推导,积分余项。
第五章1.用Doolittle分解求解⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎭⎫⎝⎛-1116582754312321xxx(2)2(1)1(3)3(4)2(5)3(7)1(2)1(8)3(5)5⎛⎫⎪⎪⎪--⎝⎭100210131L⎛⎫⎪= ⎪⎪-⎝⎭213031005U⎛⎫⎪= ⎪⎪⎝⎭再用前推和回代解出x1,x2,x3Chapter 61.方程组⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛251113108481044410321x x x求:(1)写出Jacobi 迭代公式、Gauss-Seidal 迭代公式。
(1)()()123(1)2(1)31(4413)10k k k k k x x x x x +++⎧=--+⎪⎪⎪=⎨⎪=⎪⎪⎩(2)判断两种迭代公式的收敛性 求迭代矩阵的谱半径,判断是否<11.求向量和矩阵1,2,∞的范数,x=(2,-3,-1,7)T⎪⎪⎪⎭⎫⎝⎛-=210121012A 2.求Cond ∞(A ),⎪⎪⎭⎫ ⎝⎛=75107A171057A --⎛⎫= ⎪-⎝⎭1()||||||||1717289cond A A A -∞∞∞==⨯=Chapter 71.设X 0≠0,计算a1的迭代公式)2(1k k k ax x x -=+ k=0,1,2.....证明:(1)该格式二阶收敛(2)格式收敛的充要条件是1|1|0<-ax 由题意知,该迭代公式的迭代函数是:()(2)x x ax φ=-,因为1'()22,'()220''()20x ax ax a φφφ=-=-==-≠由定理知,该格式是二阶收敛的。
(2).1122211(2)1(21)1(1)k k k k k k k e x x ax a a a x ax a ax a++=-=--=-+=- 因此,22110(1)0(1)0k k k e ax ax a+→⇔-→⇔-→ 设221112222200111(2)(1) (1)k kk k k k k k k r ax ax ax ax rr r ax -----=-=--=-=====-所以,21000(1)0|1|1kk e ax ax +→⇔-→⇔-<2.不用除法运算计算c1,求出迭代公式。
令21x x c ==则,令21()f x c x =-,则32'()f x x =-由牛顿迭代法:231321()2'()20.5(3)k k k k k k k k k k k k c f x x x cx x x x x f x x x cx +--=-=-=+-=-因此,迭代格式为:0210.70.5(3),0,1,2,....k k k x x x cx k +==-=给定ODE ,写出EULER 公式,梯形公式,收敛阶。