搜档网
当前位置:搜档网 › 期末考试数值计算方法15道程序题详解

期末考试数值计算方法15道程序题详解

期末考试数值计算方法15道程序题详解
期末考试数值计算方法15道程序题详解

//用辛普森公式计算p199页的例题-7

#include#includedouble

f(double x)

{return pow(x,0.5);}

void main()

{ double x0,x1, m;x0=0.5;x1=1.0;

printf("利用辛普森公式计算的结果为:"); printf("\n");

m=((x1-x0)*(f(x0)+f(x1)+4*f((x0+x1)/2)))/6; printf("%lf",m);printf("\n");

}

/用牛顿迭代法求x等于e的-x次方在.5附近的根。#include"stdio.h"#include"math.h"

#define E 2.71828182#define fn(x)

x*pow(E,x)-1#define fn_(x)pow(E,x)+x*pow(E,x )#define N 10#define F 1e-8

void main()

{double x0=0;double x_=0;double x = 0; double tempx=0;int k=1;

printf("键入x0的初值:\nx0=");

scanf("%lf",&x0);while(1)

{x_=fn_(x0);//导数x =fn(x0);//函数值

if(x_ == 0)

{ printf("newton iteration

fail!");break;}else{tempx=x0- ( x/x_ );

if( fabs(x0-tempx) < F){printf("newton iteration success!\nx=%.8lf\n\n",tempx); break;}else{if(k == N){printf("newton iteration fail!");break;}else{k++;

x0=tempx;}}}}}

//牛顿插入法#include#define N 6

#define M 4 double

x[N]={0.4,0.55,0.65,0.8,0.9,1.05};

Double y[N]={0.41075,0.57815,0.69675,0.88811 ,1.02652,1.25382};double _w(int k,int i,int j){double sum=1;int ii=i;while(ii<=j){

if(k!=ii)sum*=(x[k]-x[ii]);ii++;}

return sum;}double D_value(int i,int j) {double sum=0;int k=i;while(k<=j){

sum+=y[k]/_w(k,i,j);k++;}return sum;} double _Poly(double x0,int n){

double sum=1;int i=0;while(i<=n){

sum*=(x0-x[i]);i++;}return sum;}

double Polynomial(double x0,int n) {if(n==0)return y[0];else return

Polynomial(x0,n-1)+D_value(0,n)*_Poly(x0,n-1);}void main(){double x0,y0;printf("x0="); scanf("%lf",&x0);getchar();y0=Polynomial(x0 ,M);printf("y=%lf\n",y0);}

//拉格朗日差值法,三次差值

#includedouble L0(double x0,double x1,double x2,double x){return

((x-x1)*(x-x2))/((x0-x1)*(x0-x2));}

double L1(double x0,double x1,double

x2,double x){return

((x-x0)*(x-x2))/((x1-x0)*(x1-x2));}

double L2(double x0,double x1,double

x2,double x){return

((x-x0)*(x-x1))/((x2-x0)*(x2-x1));}

void main(){

double x=0,x0=0,x1=0,x2=0;double

y0=0,y1=0,y2=0;printf("输入各项x的

值:\n");scanf("%lf,%lf,%lf",&x0,&x1,&x2); printf("输入各项y的值:\n");

scanf("%lf,%lf,%lf",&y0,&y1,&y2);getchar(); printf("输入x的值:\n");scanf("%lf",&x); getchar();printf("结果

为:%lf\n",L0(x0,x1,x2,x)*y0+L1(x0,x1,x2,x)* y1+L2(x0,x1,x2,x)*y2);

}

//高斯消去法#include#define size 3 double a[size][size+2];void guass()

{int i,j;int n;for(n=1;n

for(i=n;i

a[i][size+1]=a[i][n-1]/a[n-1][n-1];

//消去for(j=n-1;j

a[i][j]=a[i][j]-a[i][size+1]*a[n-1][j];}

}void main(){int i,j;printf("-----------高斯消去之前---------\n\n");for(i=0;i

if(a[i][j]<0)printf("%.2f\t",a[i][j]);else printf(" %.2f\t",a[i][j]);}printf("\n\n");} guass();printf("-----------高斯消去后

----------\n\n");for(i=0;i

{for(j=0;j

//高斯赛德尔#include#include

#define N 3#define E 1e-4

double retx1(double x2,double x3)

{return 0.2*x2+0.1*x3+0.3;}

double retx2(double x1,double x3)

{return 0.2*x1+0.1*x3+1.5;}

double retx3(double x1,double x2)

{return 0.2*x1+0.4*x2+2;}void main() {double x1=0,x2=0,x3=0;

while( fabs((x1-retx1(x2,x3)))>E ){

x1=retx1(x2,x3);x2=retx2(x1,x3);

x3=retx3(x1,x2);}printf("x1=%.5lf\nx2=%.5lf \nx3=%.5lf\n",x1,x2,x3);printf("\n高斯-塞德尔迭代。第页例.27数值。结果与答案相符\n");} //书本上例题2.20.用双点弦截法解x=e-x

#include"stdio.h"#include"math.h"

#define E 2.718281828459#define N 10

#define XE 1e-6double fn(double x)

{return x*pow(E,x)-1;}

void main(){double x0,x1,x2;int k;

printf("input x0 and x1:\nx0=");

scanf("%lf",&x0);getchar();printf("x1="); scanf("%lf",&x1);printf("\nx0=%lf,x1=%lf\n" ,x0,x1);k=1;while(1){x2=x1-(fn(x1)*(x1-x0)) /(fn(x1)-fn(x0));if(fabs(fn(x2))

//LU分解

#include#define N 4int

A[N][N]={{0,0,0,0},{0,2,2,3},{0,4,7,7},{0,-2,4,5}};int L[N][N]={0};int U[N][N]={0}; void dollitte_first()//r=1{int i=0;

for(i=1;i

L[i][1]=A[i][1]/U[1][1];}

void dollitte_second(int r)//r>=2

{if(r>=2 && r<= N){int i=0;for(i=r;i r=%d\n",r);}

int sumb_u(int r,int i){int k=1;int sum=0; for(k=1;k<=r-1;k++)sum+=L[r][k]*U[k][i]; return sum;}int sumb_l(int r,int i)

{int k=1;int sum=0;for(k=1;k<=r-1;k++) sum+=L[i][k]*U[k][r];return sum;}void main() {int i=1;int j=1;for(i=1;i

//雅克比迭代

#include#include#define N 3#define E 1e-5;

double retx1(double x2,double x3)

{return 0.2*x2+0.1*x3+0.3;}

double retx2(double x1,double x3)

{return 0.2*x1+0.1*x3+1.5;}

double retx3(double x1,double x2)

{return 0.2*x1+0.4*x2+2;}

void main()

{double x1=0,x2=0,x3=0;

double xx1=0,xx2=0,xx3=0;

while( fabs((x1-retx1(xx2,xx3)))>E ){

x1=retx1(xx2,xx3);x2=retx2(xx1,xx3);x3=retx 3(xx1,xx2);xx1=x1;xx2=x2;x3=x3;}

printf("x1=%.5lf\nx2=%.5lf\nx3=%.5lf\n",x1, x2,x3);printf("\n雅克比迭代。第页例.27数值。结果与答案相符\n");}

//列组元高斯消

#include#include#define

size 3 double

a[size][size+2]={{12,-3,3,15,0},{-18,3,-1,-15,0},{1,1,1,6,0}};void selectx(int n)

{int i=n,j=0;int k=0;double b[size+2];

for(j=i+1;j

b[k]=a[i][k];a[i][k]=a[j][k];a[j][k]=b[k];} }}void guass()

{int i,j; int n;for(n=1;n

for(i=n;i

}void main(){int i,j;printf("-----------列主元高斯消去之-----\n\n");for(i=0;i

printf(" %.2f\t",a[i][j]);}printf("\n\n");} guass();

printf("-----------列主元高斯消去后

----------\n\n");for(i=0;i

{for(j=0;j

printf(" %.2f\t",a[i][j]);}printf("\n\n");}} //用梯形公式计算p199页的例题-7

#include#includedouble

f(double x){return pow(x,0.5);}void main() {double x0,x1;double m; x0=0.5; x1=1.0;

printf("利用梯形(定步长)公式计算的结果为:"); printf("\n");

m=((x1-x0)*(f(x0)+f(x1)))/2;printf("%lf",m) ;printf("\n");}

//等距节点插值

#include#include

#define N 4#define M 2 #define H 0.1 //h参

数选择double x[N]={0.4,0.5,0.6,0.7};

double y[N]={0.38942,0.47943,0.56464,0.64422 };//差分求值函数double Deff(int k,int n)

{if(n==0)return y[k]; else

return Deff(k+1,n-1)-Deff(k,n-1);}

double _t(int n,double t){

double sum=1;int i=1;while(i<=n){

sum*=(t-(i-1));i++;}return sum;}

double _n(int n){double sum=1;int

i=n;while(i>=1){sum*=i;i--;}return sum;} double EqualNewtonInsert(int k,int n,double t){double sum=y[k];int i=1;while(i<=n){

sum+=(_t(i,t)*Deff(k,i)/_n(i));i++;}

return sum;}void main(){double x0;int i=0;int k=0;double min=9999;printf("x=");

scanf("%lf",&x0);getchar(); printf("指定K 值:k=");scanf("%d",&k);getchar();printf("N( x)=%lf\n",EqualNewtonInsert(k,M,(double)(x0 -x[k])/H));}

//区间迭代法#includevoid main()

{int k=1;float x0,x1,r,n;printf("Enter

x0,r,n:\n");scanf("%f%f%d",&x0,&r,&n); x1=4*x0*x0*x0-2*x0*x0+3*x0+5;

while(k<=n){if(x1-x0-r)

break;x0=x1;x1=4*x0*x0*x0-2*x0*x0+3*x0+5;k+ +;}printf("结果为:%f\n",x1);}

全主元#include#include

#define N 20 double a[N][N],b[N];void main() { int n,i,j,k,k1,k2; double m,sum,tmp,max; double q[N];printf("\nInput n:");

scanf("%d",&n); printf("输入原始增广矩阵:"); printf("\n");for(i=0;i

{ for(j=0;j

for(i=k;i

bs(a[k][j]);jmax

){k1=i;k2=j;max=fabs(a[i][j]);}}}if(k

j++) {tmp=a[k][j];a[k][j]=a[k1][j];

a[k1][j]=tmp; } }if(k

for(i=k+1;i

a[i][j]=a[i][j]-a[k][j]*m;}b[i]=b[i]-b[k]*m ;}}q[n-1]=b[n-1]/a[n-1][n-1];for(i=n-2;i>=0

;i--){sum=0;for(j=i+1;j

j]*q[j]; q[i]=(b[i]-sum)/a[i][i];}printf("输出的结果为:");printf("\n");for(i=0;i

区间二分法#includevoid main()

{float x0,x1,x2,y0,y1,y2,s;int k;

printf("输入根存在的区间:\n");

scanf("%f%f",&x0,&x1);printf("输入要求根的

精确度:\n");scanf("%f",&s);

y0=x0*x0*x0+2*x0*x0+10*x0-20;y1=x1*x1*x1+2*

x1*x1+10*x1-20;x2=(x1+x0)/2;y2=x2*x2*x2+2*x

2*x2+10*x2-20;while(1){if(y2<=s)

break;if(y2*y1>0){y1=y2;x1=x2;}else

{x0=x2;y0=y2;}x2=(x1+x0)/2;

y2=x2*x2*x2+2*x2*x2+10*x2-20;k++;if(k==1000 0)break;}if(k==10000)printf("无法得到精确度

的根!");else printf("根:x=%f\n",x2);}

北师大网络教育 数值分析 期末试卷含答案

注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考北师大网络教育——数值分析——期末考试卷与答案 一.填空题(本大题共4小题,每小题4分,共16分) 1.设有节点012,,x x x ,其对应的函数()y f x =的值分别为012,,y y y ,则二次拉格朗日插值基函数0()l x 为 。 2.设()2f x x =,则()f x 关于节点0120,1,3x x x ===的二阶向前差分为 。 3.设110111011A -????=--????-??,233x ?? ??=?? ???? ,则1A = ,1x = 。 4. 1n +个节点的高斯求积公式的代数精确度为 。 二.简答题(本大题共3小题,每小题8分,共24分) 1. 哪种线性方程组可用平方根法求解?为什么说平方根法计算稳定? 2. 什么是不动点迭代法?()x ?满足什么条件才能保证不动点存在和不动点迭代序列收敛于()x ?的不动点? 3. 设n 阶矩阵A 具有n 个特征值且满足123n λλλλ>≥≥≥ ,请简单说明求解矩阵A 的主特征值和特征向量的算法及流程。 三.求一个次数不高于3的多项式()3P x ,满足下列插值条件: i x 1 2 3 i y 2 4 12 i y ' 3 并估计误差。(10分) 四.试用1,2,4n =的牛顿-科特斯求积公式计算定积分1 01 1I dx x =+? 。(10分) 五.用Newton 法求()cos 0f x x x =-=的近似解。(10分) 六.试用Doolittle 分解法求解方程组:

注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考 12325610413191963630 x x x -?????? ??????-=?????? ??????----?????? (10分) 七.请写出雅可比迭代法求解线性方程组1231231 23202324 812231530 x x x x x x x x x ++=?? ++=??-+=? 的迭代格式,并 判断其是否收敛?(10分) 八.就初值问题0(0)y y y y λ'=??=?考察欧拉显式格式的收敛性。(10分)

数值计算实验课题目

数值实验课试题 本次数值实验课结课作业,请按题目要求内容写一篇文章。按题目要求 人数自由组合,每组所选题目不得相同(有特别注明的题目除外)。试题如下: 1)解线性方程组的Gauss 消去法和列主元Gauss 消去法(2人)/*张思珍,巩艳华*/ 用C 语言将不选主元和列主元Gauss 消去法编写成通用的子程序,然后用你编写的程序求解下列84阶的方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 1681684 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 2)解线性方程组的平方根法(4人)/*朱春成、黄锐奇、张重威、章杰*/ 用C 语言将平方根法和改进的平方根法编写成通用的子程序,然后用你编写的程序求解对称正定方程组b Ax =,其中 (1)b 随机的选取,系数矩阵为100阶矩阵 ?????? ???? ? ? ?101 1101 1101 1101 1101110 ; (2)系数矩阵为40阶的Hilbert 矩阵,即系数矩阵A 的第i 行第j 列元素为 1 1-+= j i a ij ,向量b 的第i 个分量为∑=-+ = n j i j i b 1 1 1. 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编

3.《数值分析简明教程》,王能超编 3)三对角线方程组的追赶法(3人)/*黄佳礼、唐伟、韦锡倍*/ 用C 语言将三对角线方程组的追赶法法编写成通用的子程序,然后用你编写的程序求解如下84阶三对角线方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 16816 84 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值分析简明教程》,王能超编 4)线性方程组的Jacobi 迭代法(3人)/*周桂宇、杨飞、李文军*/ 用C 语言将Jacobi 迭代法编写成独立的子程序,并用此求解下列方程组, 精确到小数点后5位 ???? ? ??=????? ??????? ? ?-149012 2111221 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 5)线性方程组的Gauss-Seidel 迭代法(3人)/*张玉超、范守平、周红春*/ 用C 语言将Gauss-Seidel 迭代法编写成独立的子程序,并用此求解下列方程组,精确到小数点后5位 ???? ? ??=????? ??????? ? ?--39721 1111112 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 6)解线性方程组的最速下降法法(2人)/*赵育辉、阿热孜古丽*/ 用C 语言将最速下降法编写成通用的子程序,然后用你编写的程序求解对称

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); ( 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公式为

( )] ,(),([2111+++++=n n n n n n y x f y x f h y y ); 10、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 13、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。 14、 用二分法求方程01)(3 =-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间 为 ,1 ,进行两步后根的所在区间为 , 。 15、 、 16、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 ,用辛卜 生公式计算求得的近似值为 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 17、 求解方程组?? ?=+=+042.01532121x x x x 的高斯—塞德尔迭代格式为 ?????-=-=+++20/3/)51()1(1)1(2)(2)1(1 k k k k x x x x ,该迭 代格式的迭代矩阵的谱半径)(M ρ= 121 。 18、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l )2()(1--=x x x l ,)(x f 的二次牛顿 插值多项式为 )1(716)(2-+=x x x x N 。 19、 求积公式 ?∑=≈b a k n k k x f A x x f )(d )(0 的代数精度以( 高斯型 )求积公式为最高,具 有( 12+n )次代数精度。

数值分析学期期末考试试题与答案(A)

期末考试试卷(A 卷) 2007学年第二学期 考试科目: 数值分析 考试时间:120 分钟 学号 姓名 年级专业 一、判断题(每小题2分,共10分) 1. 用计算机求 1000 1000 1 1 n n =∑时,应按照n 从小到大的顺序相加。 ( ) 2. 为了减少误差,进行计算。 ( ) 3. 用数值微分公式中求导数值时,步长越小计算就越精确。 ( ) 4. 采用龙格-库塔法求解常微分方程的初值问题时,公式阶数越高,数值解越精确。( ) 5. 用迭代法解线性方程组时,迭代能否收敛与初始向量的选择、系数矩阵及其演变方式有 关,与常数项无关。 ( ) 二、填空题(每空2分,共36分) 1. 已知数a 的有效数为0.01,则它的绝对误差限为________,相对误差限为_________. 2. 设1010021,5,1301A x -????????=-=-????????-???? 则1A =_____,2x =______,Ax ∞ =_____. 3. 已知5 3 ()245,f x x x x =+-则[1,1,0]f -= ,[3,2,1,1,2,3]f ---= . 4. 为使求积公式 1 1231 ()()(0)33 f x dx A f A f A f -≈- ++? 的代数精度尽量高,应使1A = ,2A = ,3A = ,此时公式具有 次的代数精度。 5. n 阶方阵A 的谱半径()A ρ与它的任意一种范数A 的关系是 . 6. 用迭代法解线性方程组AX B =时,使迭代公式(1) ()(0,1,2,)k k X MX N k +=+=产 生的向量序列{ }() k X 收敛的充分必要条件是 . 7. 使用消元法解线性方程组AX B =时,系数矩阵A 可以分解为下三角矩阵L 和上三角矩

曲线拟合的数值计算方法实验

曲线拟合的数值计算方法实验 【摘要】实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。常用的曲线拟合有最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束。 关键词曲线拟合、最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束 一、实验目的 1.掌握曲线拟合方式及其常用函数指数函数、幂函数、对数函数的拟合。 2.掌握最小二乘法、线性插值、三次样条插值、端点约束等。 3.掌握实现曲线拟合的编程技巧。 二、实验原理 1.曲线拟合 曲线拟合是平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。用解析表达式逼近离散数据的一种方法。在科学实验或社会活动中,通过 实验或观测得到量x与y的一组数据对(X i ,Y i )(i=1,2,...m),其中各X i 是彼此不同的。人们希望用一类与数据的背景材料规律相适应的解析表达式,y=f(x,c)来反映量x与y之间的依赖关系,即在一定意义下“最佳”地逼近或 拟合已知数据。f(x,c)常称作拟合模型,式中c=(c 1,c 2 ,…c n )是一些待定参 数。当c在f中线性出现时,称为线性模型,否则称为非线性模型。有许多衡量拟合优度的标准,最常用的一种做法是选择参数c使得拟合模型与实际观测值在

数值计算方法思考题

数值计算方法思考题 第一章 预篇 1.什么是数值分析?它与数学科学和计算机的关系如何? 2.何谓算法?如何判断数值算法的优劣? 3.列出科学计算中误差的三个来源,并说出截断误差与舍入误差的区别。 4.什么是绝对误差与相对误差?什么是近似数的有效数字?它与绝对误差和相对误差有何关系? 5.什么是算法的稳定性?如何判断算法稳定?为什么不稳定算法不能使用? 6.判断如下命题是否正确: (1)一个问题的病态性如何,与求解它的算法有关系。 (2)无论问题是否病态,好的算法都会得到好的近似解。 (3)解对数据的微小变化高度敏感是病态的。 (4)高精度运算可以改善问题的病态性。 (5)用一个稳定的算法计算良态问题一定会得到好的近似值。 (6)用一个收敛的迭代法计算良态问题一定会得到好的近似值。 (7)两个相近数相减必然会使有效数字损失。 (8)计算机上将1000个数量级不同的数相加,不管次序如何结果都是一样的。 7.考虑二次代数方程的求解问题 ax 2 + bx + c = 0. 下面的公式是熟知的 a ac b b x 242-±-=. 与之等价地有 ac b b c x 422--= . 对于 a = 1, b = -100 000 000 , c = 1 应当如何选择算法? 8.指数函数有著名的级数展开 ++++=!3!213 2x x x e x 如果对x < 0用上述的级数近似计算指数函数的值,这样的算法结果是否会好?为什么? 9.考虑数列x i , i = 1,…, n , 它的统计平均值定义为 ∑==n i i x x x 1 1 它的标准差

1 12)(11??????--=∑-n i i x x n σ 数学上它等价于 1 12211???????????? ??--=∑=n i i x n x n σ 作为标准差的两种算法,你如何评价它们的得与失? 第二章 非线性方程求根 1.判断如下命题是否正确: (a) 非线性方程的解通常不是唯一的; (b) Newton 法的收敛阶高于割线法; (c) 任何方法的收敛阶都不可能高于Newton 法; (d) Newton 法总是比割线法更节省计算时间; (e) 如果函数的导数难于计算,则应当考虑选择割线法; (f) Newton 法是有可能不收敛; (g) 考虑简单迭代法x k +1 = g (x k ),其中x * = g (x *)。如果| g '(x *) | <1,则对任意的初 始值,上述迭代都收敛。 2.什么叫做一个迭代法是二阶收敛的?Newton 法收敛时,它的收敛阶是否总是二阶 的? 3.求解单变量非线性方程的单根,下面的3种方法,它们的收敛阶由高到低次序如何? (a) 二分法 (b) Newton 方法 (c) 割线方法 4.求解单变量非线性方程的解,Newton 法和割线方法,它们每步迭代分别需要计算几 次函数值和导数值? 5.求解某个单变量非线性方程,如果计算函数值和计算导数值的代价相当,Newton 法和割线方法它的优劣应如何评价? 第三章 解线性方程组的直接法 1.用高斯消去法为什么要选主元?哪些方程组可以不选主元? 2.高斯消去法与LU 分解有什么关系?用它们解线性方程组Ax = b 有何不同?A 要满足什么条件? 3.乔列斯基分解与LU 分解相比,有什么优点? 4.哪种线性方程组可用平方根法求解?为什么说平方根法计算稳定? 5.什么样的线性方程组可用追赶法求解并能保证计算稳定? 6.何谓向量范数?给出三种常用的向量范数。 7.何谓矩阵范数?何谓矩阵的算子范数?给出矩阵A = (a i j )的三种范数|| A ||1,|| A ||2,|| A ||∞,|| A ||1与|| A ||2哪个更容易计算?为什么? 8.什么是矩阵的条件数?如何判断线性方程组是病态的? 9.满足下面哪个条件可判定矩阵接近奇异? (1)矩阵行列式的值很小。 (2)矩阵的范数小。

数值计算方法试题及答案

【 数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式)2(2 1-+=+k k k x x x α局部收敛的充分条件是α取值在( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(211 0)(2 33x c x b x a x x x x S 是三次样条函数, 则 a =( ), b =( ), c =( )。 4、)(,),(),(10x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则 ∑== n k k x l 0)(( ), ∑== n k k j k x l x 0 )(( ),当2≥n 时 = ++∑=)()3(20 4x l x x k k n k k ( )。 ; 5、设1326)(2 47+++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[10n x x x f 和=?07 f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞ =0)(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ?,则?= 1 4)(dx x x ? 。 8、给定方程组?? ?=+-=-2211 21b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR 迭代法收敛。 9、解初值问题 00 (,)()y f x y y x y '=?? =?的改进欧拉法 ??? ??++=+=++++)],(),([2),(] 0[111] 0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是 阶方法。

数值分析期末考试复习题及其答案.doc

数值分析期末考试复习题及其答案 1. 已知325413.0,325413* 2* 1==X X 都有6位有效数字,求绝对误差限。(4分) 解: 由已知可知,n=6 5.01021 ,0,6,10325413.0016*1=?= =-=?=ε绝对误差限n k k X 2分 620* 21021,6,0,10325413.0-?=-=-=?=ε绝对误差限n k k X 2分 2. 已知?????=001A 220 - ???? ?440求21,,A A A ∞ (6分) 解: {},88,4,1max 1==A 1分 {},66,6,1max ==∞A 1分 () A A A T max 2λ= 1分 ?????=001A A T 420 ?? ?? ? -420?????001 220 - ?????440=?????001 080 ???? ?3200 2分 {}3232,8,1max )(max ==A A T λ 1分 24322==A 3. 设3 2 )()(a x x f -= (6分) ① 写出f(x)=0解的Newton 迭代格式 ② 当a 为何值时,)(1k k x x ?=+ (k=0,1……)产生的序列{}k x 收敛于2 解: ①Newton 迭代格式为: x a x x x a x a x x a x x x f x f x x k k k k k k k k k k 665)(665)(6)()(')(2 2 32 1 += +=---=-=+? 3分

②时迭代收敛即当222,112 10)2(',665)('2<<-<-=-=a a x a x ?? 3分 4. 给定线性方程组Ax=b ,其中:? ??=1 3A ??? 22,??????-=13b 用迭代公式)()()()1(k k k Ax b x x -+=+α(k=0,1……)求解Ax=b ,问取什么实数α,可使迭代收 敛 (8分) 解: 所给迭代公式的迭代矩阵为?? ? --? ??--=-=ααααα21231A I B 2分 其特征方程为 0) 21(2)31(=----= -αλα ααλλB I 2分 即,解得αλαλ41,121-=-= 2分 要使其满足题意,须使1)(

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数值分析作业思考题汇总

¥ 数值分析思考题1 1、讨论绝对误差(限)、相对误差(限)与有效数字之间的关系。 2、相对误差在什么情况下可以用下式代替 3、查阅何谓问题的“病态性”,并区分与“数值稳定性”的不同点。 4、取 ,计算 ,下列方法中哪种最好为什么(1)(3 3-,(2)(2 7-,(3) ()3 1 3+ ,(4) ()6 1 1 ,(5)99- , 数值实验 数值实验综述:线性代数方程组的解法是一切科学计算的基础与核心问题。求解方法大致可分为直接法和迭代法两大类。直接法——指在没有舍入误差的情况下经过有限次运算可求得方程组的精确解的方法,因此也称为精确法。当系数矩阵是方的、稠密的、无任何特殊结构的中小规模线性方程组时,Gauss消去法是目前最基本和常用的方法。如若系数矩阵具有某种特殊形式,则为了尽可能地减少计算量与存储量,需采用其他专门的方法来求解。 Gauss消去等同于矩阵的三角分解,但它存在潜在的不稳定性,故需要选主元素。对正定对称矩阵,采用平方根方法无需选主元。方程组的性态与方程组的条件数有关,对于病态的方程组必须采用特殊的方法进行求解。 数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 $ r e x x e x x ** * ** - == 141 . ≈)61

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

数值计算方法试题

数值计算方法试题 重庆邮电大学数理学院 一、填空题(每空2分,共20分) 1、用列主元消去法解线性方程组 1、解非线性方程f(x)=0的牛顿迭代法具有 ,,,,,,,收 敛 2、迭代过程(k=1,2,…)收敛的充要条件是 2、已知y=f(x)的数据如下 ,,, x 0 2 3 3、已知数 e=2.718281828...,取近似值 x=2.7182,那麽x具有的有 f(x) 1 3 2 效数字是,,, 4、高斯--塞尔德迭代法解线性方程组求二次插值多项式及f(2.5) 3、用牛顿法导出计算的公式,并计算,要求迭代误差不超过 。 4、欧拉预报--校正公式求解初值问题的迭代格式中求 ,,,,,,,,,,,,, ,

5、通过四个互异节点的插值多项式p(x),只要满足,,,,,,取步长k=0.1,计算 y(0.1),y(0.2)的近似值,小数点后保留5位. ,,则p(x)是不超过二次的多项式 三、证明题 (20分每题 10分 ) 6、对于n+1个节点的插值求积公式 1、明定 积分近似计算的抛物线公式 具有三次代数精度至少具有,,,次代 数精度. 7、插值型求积公式的求积 2、若,证明用梯形公式计算积分所 系数之和,,, 得结果比准确值大,并说明这个结论的几何意义。 参考答案: T8、 ,为使A可分解为A=LL, 其中L一、填空题 1、局部平方收敛 2、< 1 3、 4 为对角线元素为正的下三角形,a的取值范围, 4、

5、三阶均差为0 6、n 7、b-a 9、若则矩阵A的谱半径(A)= ,,, 8、 9、 1 10、二阶方法 10、解常微分方程初值问题的梯形二、计算题 格式 1、是,,,阶方法 二、计算题(每小题15分,共60分) 修德博学求实创新 李华荣 1 重庆邮电大学数理学院 2、 右边: 3、 ?1.25992 (精确到 ,即保留小数点后5位) 故具有三次代数精度 4、y(0.2)?0.01903 A卷三、证明题

数值计算方法实验5

实验报告 学院(系)名称: 主程序部分列选主元部分

实验结果: 一.列主元消去法 输入各个数据,最终使用列选主元法,得到结果为:x1=x2=x3=1二.高斯-赛德尔迭代法 输入各个数据,输出每一步迭代数据,最终结果为:x1=0.285716,附录(源程序及运行结果) 一.列主元高斯消去法 #include #include void print(double a[3][3],int n,double b[3]){ printf("输出矩阵:\n"); for(int i=0;ifabs(d)){ d=a[i][k]; l=i; } i++; } printf("选出主元:%lf\n",d); if(d==0) printf("矩阵奇异!\n"); else if(l!=k){ for(int j=k;j

数值分析思考题[综合]

1、讨论绝对误差(限)、相对误差(限)与有效数字之间的关系。 2、相对误差在什么情况下可以用下式代替? 3、查阅何谓问题的“病态性”,并区分与“数值稳定性”的不同点。 4、 取 ,计算 ,不用计算而直接判断下列式子中哪 种计算效果最好?为什么? (1)(3 3-,(2)(2 7-,(3) (3 1 3+,(4) ) 6 11 ,(5)99-5. 应用梯形公式 ))()((2b f a f a b T +-= 计算积分1 0x I e dx -=?的近似值,在整个计算过程中按四舍五入规则取五位小数。计算中产生的误差的主要原因是截断误差还是舍入误差?为什么? 6. 下列各数都是经过四舍五入得到的近似值,试指出他们有几位有效数字,并给出其绝对误差限与相对误差限。 (1) 1021.1*1=x ;(2) 031.0*2=x ;(3) 40.560*3=x 。 7. 下列公式如何计算才比较准确? (1) 212 x e -,1x <<;(2) 12 1 N N dx x ++? ,1>>N ;(3) ,1x >>。 8. 序列{}n y 满足递推关系1101n n y y -=-,12,,n =,若0141.y =≈,计算到10y 时误差有多大?这个计算过程数值稳定吗? r e x x e x x ***** -== 141.≈) 6 1

1、怎样确定一个隔根区间?如何求解一个方程的全部实根?如:已知方程:1020()x f x e x =+-=在(),-∞+∞有实数根,用二分法求它的全部实根,要求误差满足210*k x x --<?若要求6*10k x x --<,需二分区 间多少次? 2、求解一个非线性方程的迭代法有哪些充分条件可以保障迭代序列收敛于方程的根?对方程3210()f x x x =--=,试构造两种不同的迭代法,且均收敛于方程在[]12,中的唯一根。 3、设0a >,应用牛顿法于方程30x a -= 确定常数,p q 和r 使得迭代法 2 125k k k k qa ra x px x x +=++, 012,, , k = 4、对于不动点方程()x x ?=,()x ?满足映内性和压缩性是存在不动点的充分条件,他们也是必要条件吗?试证明:(1)函数21()x x ?=-在闭区间[]02,上不是映内的,但在其上有不动点;(2)函数 1()ln()x x e ?=+在任何区间[],a b 上都是压缩的,但没有不动点。 5、设*x 是方程0()f x =的根,且0*'()f x ≠,''()f x 在*x 的某个邻域上连续。试证明:Newton 迭代序列{}k x 满足 12122**()''() lim () '()k k k k k x x f x x x f x -→∞---=-- 6. 设有方程1 12 sin x x =+。对于迭代法1112 ()sin()k k k x x x ?+==+,试证:对 任何15.b ≥,迭代函数()x ?在闭区间[0.5,b]上满足映内性和压缩性。用所给方

数值计算方法试题一

数值计算方法试题一

数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043 =-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式)2(2 1 -+=+k k k x x x α局部收敛的充分条件是α取值在( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(2 110)(2 33x c x b x a x x x x S 是三次样条函数,则 a =( ),b =( ),c =( )。 4、)(,),(),(1 x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则 ∑== n k k x l 0)(( ), ∑== n k k j k x l x 0 )(( ),当 2 ≥n 时 = ++∑=)()3(20 4 x l x x k k n k k ( )。 5、设1326)(2 4 7 +++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[1 n x x x f 和=?0 7 f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞ =0 )(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0 =x ?,则 ?= 1 4 )(dx x x ? 。 8、给定方程组?? ?=+-=-2 21121b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR 迭代法收敛。

9、解初值问题 00 (,)()y f x y y x y '=?? =?的改进欧拉法 ?? ? ??++=+=++++)],(),([2),(] 0[111] 0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是 阶方法。 10、设?? ?? ? ?????=11001a a a a A ,当∈a ( )时,必有分解式T LL A =,其中L 为下三角阵,当其对角线元素)3,2,1(=i l ii 满足( )条件时,这种分解是唯一的。 二、 选择题(每题2分) 1、解方程组b Ax =的简单迭代格式g Bx x k k +=+) () 1(收敛的充要条件是( )。 (1)1)(A ρ, (4) 1)(>B ρ 2、在牛顿-柯特斯求积公式: ?∑=-≈b a n i i n i x f C a b dx x f 0 )() ()()(中,当系数) (n i C 是负值时,公式的稳定性不能保证,所以实际应用中,当( )时的牛顿-柯特斯求积公式不使用。 (1)8≥n , (2)7≥n , (3)10≥n , (4)6≥n , x 0 0.5 1 1.5 2 2.5

数值计算方法期末考试题

一、单项选择题(每小题3分,共15分) 1. 3.142和3.141分别作为的近似数具有( )和( )位有效数字. A .4和3 B .3和2 C .3和4 D .4和4 2. 已知求积公式 ,则=( ) A . B . C . D . 3. 通过点 的拉格朗日插值基函数满足( ) A . =0, B . =0, C .=1, D . =1, 4. 设求方程 的根的牛顿法收敛,则它具有( )敛速。 A .超线性 B .平方 C .线性 D .三次 5. 用列主元消元法解线性方程组 作第一次消元后得到的第3个方程( ). A . B . C . D . π()()2 1 121 1()(2)636f x dx f Af f ≈ ++? A 1613122 3()()0011,,,x y x y ()()01,l x l x ()00l x ()110l x =() 00l x ()111 l x =() 00l x ()111 l x =() 00l x ()111 l x =()0 f x =12312312 20 223332 x x x x x x x x ++=?? ++=??--=?232 x x -+=232 1.5 3.5 x x -+=2323 x x -+=

单项选择题答案 1.A 2.D 3.D 4.C 5.B 二、填空题(每小题3分,共15分) 1. 设, 则 , . 2. 一阶均差 3. 已知时,科茨系数 ,那么 4. 因为方程 在区间 上满 足 ,所以 在区间内有根。 5. 取步长,用欧拉法解初值问题 的计算公 式 . 填空题答案 230.5 1.5 x x -=-T X )4,3,2(-==1||||X 2||||X =()01,f x x = 3n =()()() 33301213,88C C C === () 3 3C =()420 x f x x =-+=[]1,2()0 f x =0.1h =()211y y y x y ?'=+?? ?=?

数值计算方法答案

数值计算方法习题一(2) 习题二(6) 习题三(15) 习题四(29) 习题五(37) 习题六(62) 习题七(70) 2009.9,9

习题一 1.设x >0相对误差为2%4x 的相对误差。 解:由自变量的误差对函数值引起误差的公式: (())(())'()()()() f x x f x f x x f x f x δδ?= ≈得 (1)()f x = 11 ()()*2%1% 22x x δδδ≈ ===; (2)4 ()f x x =时 44 4 ()()'()4()4*2%8%x x x x x x δδδ≈ === 2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他们各有几位有效数字。 (1)12.1x =;(2)12.10x =;(3)12.100x =。 解:由教材9P 关于1212.m n x a a a bb b =±型数的有效数字的结论,易得上面三个数的有效 数字位数分别为:3,4,5 3.用十进制四位浮点数计算 (1)31.97+2.456+0.1352; (2)31.97+(2.456+0.1352) 哪个较精确? 解:(1)31.97+2.456+0.1352 ≈2 1 ((0.3197100.245610)0.1352)fl fl ?+?+ =2 (0.3443100.1352)fl ?+ =0.3457210? (2)31.97+(2.456+0.1352) 2 1 (0.319710(0.245610))fl fl ≈?+? = 21 (0.3197100.259110)fl ?+? =0.34562 10? 易见31.97+2.456+0.1352=0.3456122 10?,故(2)的计算结果较精确。 4.计算正方形面积时,若要求面积的允许相对误差为1%,测量边长所允许的相对误差限为多少?

吉林大学 研究生 数值计算方法期末考试 样卷

1.已知 ln(2.0)=0.6931;ln(2.2)=0.7885,ln(2.3)=0 .8329,试用线性插值和抛物插值计算.ln2.1的值并估计误差 2.已知x=0,2,3,5对应的函数值分别为y=1,3,2,5.试求三次多项式的插值 3. 分别求满足习题1和习题2 中插值条件的Newton插值 (1) (2)

3()1(2)(2)(3) 310 N x x x x x x x =+--+--4. 给出函数f(x)的数表如下,求四次Newton 插值多项式,并由此计算f(0.596)的值 解:

5.已知函数y=sinx的数表如下,分别用前插和后插公式计算sin0.57891的值

6.求最小二乘拟合一次、二次和三次多项式,拟合如下数据并画出数据点以及拟合函数的图形。 (a) (b)

7.试分别确定用复化梯形、辛浦生和中矩形 求积公式计算积分2 14dx x +?所需的步长h ,使得精度达到5 10 -。 8.求A 、B 使求积公式 ?-+-++-≈1 1)] 21()21([)]1()1([)(f f B f f A dx x f 的 代数精度尽量高,并求其代数精度;利用 此公式求? =2 1 1dx x I (保留四位小数)。 9.已知 分别用拉格朗日插值法和牛顿插值法求

) (x f 的三次插值多项式)(3 x P ,并求)2(f 的近 似值(保留四位小数)。 10.已知 求)(x f 的二次拟合曲线)(2 x p ,并求)0(f 的近似值。 11.已知x sin 区间[0.4,0.8]的函数表

相关主题