北航数值分析硕士博士研究生随堂笔记及考试重点

合集下载

北航研究生数值分析作业第一题

北航研究生数值分析作业第一题

北航研究⽣数值分析作业第⼀题北航研究⽣数值分析作业第⼀题:⼀、算法设计⽅案1.要求计算矩阵的最⼤最⼩特征值,通过幂法求得模最⼤的特征值,进⾏⼀定判断即得所求结果;2.求解与给定数值接近的特征值,可以该数做漂移量,新数组特征值倒数的绝对值满⾜反幂法的要求,故通过反幂法即可求得;3.反幂法计算时需要⽅程求解中间过渡向量,需设计Doolite分解求解;4.|A|=|B||C|,故要求解矩阵的秩,只需将Doolite分解后的U矩阵的对⾓线相乘即为矩阵的Det。

算法编译环境:vlsual c++6.0需要编译函数:幂法,反幂法,Doolite分解及⽅程的求解⼆、源程序如下:#include#include#include#includeint Max(int value1,int value2);int Min(int value1,int value2);void Transform(double A[5][501]);double mifa(double A[5][501]);void daizhuangdoolite(double A[5][501],double x[501],double b[501]); double fanmifa(double A[5][501]); double Det(double A[5][501]);/***定义2个判断⼤⼩的函数,便于以后调⽤***/int Max(int value1,int value2){return((value1>value2)?value1:value2);}int Min(int value1,int value2){return ((value1}/*****************************************//***将矩阵值转存在⼀个数组⾥,节省空间***/void Transform(double A[5][501],double b,double c){int i=0,j=0;A[i][j]=0,A[i][j+1]=0;for(j=2;j<=500;j++)A[i][j]=c;i++;j=0;A[i][j]=0;for(j=1;j<=500;j++)A[i][j]=b;i++;for(j=0;j<=500;j++)A[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++)A[i][j]=b;A[i][j]=0;i++;for(j=0;j<=498;j++)A[i][j]=c;A[i][j]=0,A[i][j+1]=0;}/***转存结束***///⽤于求解模最⼤的特征值,幂法double mifa(double A[5][501]){int s=2,r=2,m=0,i,j;double b2,b1=0,sum,u[501],y[501];for (i=0;i<=500;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]+A[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)>=exp(-12));return b2;}//带状DOOLITE分解,并且求解出⽅程组的解void daizhuangdoolite(double A[5][501],double x[501],double b[501]) { int i,j,k,t,s=2,r=2;double B[5][501],c[501];for(i=0;i<=4;i++){for(j=0;j<=500;j++)B[i][j]=A[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 fanmifa(double A[5][501]){int s=2,r=2,m=0,i;double b2,b1=0,sum=0,u[501],y[501];for (i=0;i<=500;i++){u[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);daizhuangdoolite(A,u,y);b2=0;for(i=0;i<=500;i++)b2+=y[i]*u[i];}while(fabs(b2-b1)>=fabs(b1)*exp(-12));return 1/b2;}//⾏列式的LU分解,U的主线乘积即位矩阵的DET double Det(double A[5][501]) {int i,j,k,t,s=2,r=2;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++)A[k-j+s][j]=A[k-j+s][j]-A[k-t+s][t]*A[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++)A[i-k+s][k]=A[i-k+s][k]-A[i-t+s][t]*A[t-k+s][k];A[i-k+s][k]=A[i-k+s][k]/A[s][k];}}double det=1;for(i=0;i<=500;i++)det*=A[s][i];return det;}void main(){double b=0.16,c=-0.064,p,q;int i,j;double A[5][501];Transform(A,b,c); //进⾏A的赋值cout.precision(12); //定义输出精度double lamda1,lamda501,lamdas;double k=mifa(A);if(k>0) //判断求得最⼤以及最⼩的特征值.如果K>0,则它为最⼤特征值值,//并以它为偏移量再⽤⼀次幂法求得新矩阵最⼤特征值,即为最⼤ //与最⼩的特征值的差{lamda501=k;for(i=0;i<=500;i++)A[2][i]=A[2][i]-k;lamda1=mifa(A)+lamda501;for(i=0;i<=500;i++)A[2][i]=A[2][i]+k;}else //如果K<=0,则它为最⼩特征值值,并以它为偏移量再⽤⼀次幂法//求得新矩阵最⼤特征值,即为最⼤与最⼩的特征值的差{lamda1=k;for(i=0;i<=500;i++)A[2][i]=A[2][i]-k;lamda501=mifa(A)+lamda1;for(i=0;i<=500;i++)A[2][i]=A[2][i]+k;}lamdas=fanmifa(A);FILE *fp=fopen("result.txt","w");fprintf(fp,"λ1=%.12e\n",lamda1);fprintf(fp,"λ501=%.12e\n",lamda501);fprintf(fp,"λs=%.12e\n\n",lamdas);fprintf(fp,"\t要求接近的值\t\t\t实际求得的特征值\n");for(i=1;i<=39;i++) //反幂法求得与给定值接近的特征值{p=lamda1+(i+1)*(lamda501-lamda1)/40;for(j=0;j<=500;j++)A[2][j]=A[2][j]-p;q=fanmifa(A)+p;for(j=0;j<=500;j++)A[2][j]=A[2][j]+p;fprintf(fp,"µ%d: %.12e λi%d: %.12e\n",i,p,i,q);}double cond=fabs(mifa(A)/fanmifa(A));double det=Det(A);fprintf(fp,"\ncond(A)=%.12e\n",cond);fprintf(fp,"\ndetA=%.12e\n",det);}三、程序运⾏结果λ1=-1.069936345952e+001λ501=9.722283648681e+000λs=-5.557989086521e-003要求接近的值实际求得的特征值µ1: -9.678281104107e+000 λi1: -9.585702058251e+000µ2: -9.167739926402e+000 λi2: -9.172672423948e+000µ3: -8.657198748697e+000 λi3: -8.652284007885e+000µ4: -8.146657570993e+000 λi4: -8.0934********e+000µ5: -7.636116393288e+000 λi5: -7.659405420574e+000µ6: -7.125575215583e+000 λi6: -7.119684646576e+000µ7: -6.615034037878e+000 λi7: -6.611764337314e+000µ8: -6.104492860173e+000 λi8: -6.0661********e+000µ9: -5.593951682468e+000 λi9: -5.585101045269e+000µ10: -5.0834********e+000 λi10: -5.114083539196e+000µ11: -4.572869327058e+000 λi11: -4.578872177367e+000µ12: -4.062328149353e+000 λi12: -4.096473385708e+000µ13: -3.551786971648e+000 λi13: -3.554211216942e+000µ14: -3.0412********e+000 λi14: -3.0410********e+000µ15: -2.530704616238e+000 λi15: -2.533970334136e+000µ16: -2.020*********e+000 λi16: -2.003230401311e+000µ17: -1.509622260828e+000 λi17: -1.503557606947e+000µ18: -9.990810831232e-001 λi18: -9.935585987809e-001µ19: -4.885399054182e-001 λi19: -4.870426734583e-001µ20: 2.200127228676e-002 λi20: 2.231736249587e-002µ21: 5.325424499917e-001 λi21: 5.324174742068e-001µ22: 1.043083627697e+000 λi22: 1.052898964020e+000µ23: 1.553624805402e+000 λi23: 1.589445977158e+000µ24: 2.064165983107e+000 λi24: 2.060330427561e+000µ25: 2.574707160812e+000 λi25: 2.558075576223e+000µ26: 3.0852********e+000 λi26: 3.080240508465e+000µ27: 3.595789516221e+000 λi27: 3.613620874136e+000µ28: 4.106330693926e+000 λi28: 4.0913********e+000µ29: 4.616871871631e+000 λi29: 4.603035354280e+000µ30: 5.127413049336e+000 λi30: 5.132924284378e+000µ31: 5.637954227041e+000 λi31: 5.594906275501e+000µ32: 6.148495404746e+000 λi32: 6.080933498348e+000µ33: 6.659036582451e+000 λi33: 6.680354121496e+000µ34: 7.169577760156e+000 λi34: 7.293878467852e+000µ35: 7.680118937861e+000 λi35: 7.717111851857e+000µ36: 8.190660115566e+000 λi36: 8.225220016407e+000µ37: 8.701201293271e+000 λi37: 8.648665837870e+000µ38: 9.211742470976e+000 λi38: 9.254200347303e+000µ39: 9.722283648681e+000 λi39: 9.724634099672e+000cond(A)=1.925042185755e+003detA=2.772786141752e+118四、分析如果初始向量选择不当,将导致迭代中X1的系数等于零.但是,由于舍⼊误差的影响,经若⼲步迭代后,.按照基向量展开时,x1的系数可能不等于零。

中国农业大学研究生数值分析考试重点及笔记

中国农业大学研究生数值分析考试重点及笔记

中国农业大学数值分析研究生课程重点后面有笔者的笔记!!第1章1、 5个概念(绝对误差、绝对误差限、相对误差、相对误差限,有效数字)及其计算,数值运算的误差估计2、算法稳定性的概念及算法设计的5个原则第2章1、牢记拉格朗日插值公式、牛顿插值公式,掌握余项推导2、了解均差的性质3、会用基函数和承袭性两种方法构造埃尔米特插值问题,并会推导余项4、为何要分段低次插值?会构造分段线性和分段三次埃尔米特插值5、三次样条插值的2种构造思路第3章会利用最小二乘法解决具体问题第4章1、机械求积公式、代数精度的概念理解和计算2、插值型求积公式的定义和判断,插值型求积公式中求积系数有何特点?如何证明?3、求积公式余项的推导4、什么叫牛顿-柯特斯求积公式?总结其优缺点5、牢记梯形公式、辛普森公式及其余项(会推导),牢记柯特斯公式6、复化求积公式的计算7、高斯型求积公式的定义、判断和使用,高斯型求积公式中求积系数有何特点?如何证明?8、总结学过的数值求积公式,说明其关系第5章1、会用高斯消去法、高斯列主元素法、直接三角分解法、(改进)平方根法、追赶法求解线性方程组2、会计算矩阵和向量的常用范数3、线性方程组性态的分析第6章1、三种迭代法(雅可比、高斯-赛德尔、松弛法)的构造及其矩阵形式的推导2、会构造迭代公式求方程组的解,并判断是否收敛第7章1、了解不动点迭代法是否收敛的判断方法2、会判断迭代法收敛的收敛速度(收敛阶)3、会构造不动点迭代公式求方程的根,并指明收敛阶数4、牛顿迭代法公式推导,求单根和重根收敛性的证明5、牛顿迭代法的优缺点及其改进第9章1、牢记欧拉的5个公式及其推导2、会用三种不同方法推导欧拉显式单步公式3、掌握局部截断误差的概念及其应用Welcome To Download !!!欢迎您的下载,资料仅供参考!。

北京市考研数学复习资料实分析重要定理总结

北京市考研数学复习资料实分析重要定理总结

北京市考研数学复习资料实分析重要定理总结实分析是数学中的一个重要分支,广泛应用于各个领域。

对于准备参加北京市考研数学专业的同学们来说,熟练掌握实分析中的重要定理是非常关键的。

本文将对实分析中的重要定理进行总结,帮助同学们在复习过程中更好地理解和掌握知识。

一、数列极限1. 常数数列收敛性定理:若数列 {an} 中的所有元素都等于常数 a,则该数列收敛于 a。

2. 夹逼定理:若数列 {an}、{bn} 和 {cn} 满足an ≤ bn ≤ cn,且lim(an) = lim(cn) = a,那么数列 {bn} 也收敛于 a。

3. 单调有界数列存在极限定理:如果数列{an} 既是递增有上界的,又是递减有下界的,那么该数列必定存在极限。

二、函数极限1. 函数极限的定义:若存在常数 a,对于任意ε > 0,存在常数δ > 0,使得当 0 < |x - x0| < δ 时,就有 |f(x) - a| < ε,那么称函数 f(x) 在 x0 处极限为 a。

2. 函数极限的性质:(1) 唯一性:如果一个函数在某点的极限存在,那么该极限是唯一的。

(2) 局部有界性:如果一个函数在某点的极限存在,那么该函数在该点的一个邻域内是有界的。

三、连续函数1. 函数连续的定义:若函数 f(x) 在点 x0 处的极限等于 f(x0),那么称函数 f(x) 在点 x0 处连续。

2. 连续函数的性质:(1) 函数极限与函数连续的关系:函数在某点连续时必定在该点存在极限,但函数在某点存在极限未必连续。

(2) 区间上的连续性:如果一个函数在某个区间内的每个点都连续,那么称该函数在该区间上连续。

四、导数与微分1. 函数导数的定义:对于函数 y = f(x),如果存在极限 lim(h→0)[f(x0 + h) - f(x0)]/h,那么称该极限为函数 f(x) 在点 x0 的导数,记作f'(x0) 或 dy/dx|<sub>x=x0</sub>。

北航研究生数值分析上机作业 三 (报告+所有程序大全)

北航研究生数值分析上机作业 三 (报告+所有程序大全)

数值分析上机作业3——求解非线性方程组以及二元函数的插值拟合1. 算法设计对于全部的插值节点(,),0,1,...,10,0,1,...,20i j x y i j ==,带入非线性方程组中,用Newton 迭代法解非线性方程组,得到(,),0,1,...,10,0,1,...,20i j t u i j ==。

对(,)i j t u ,在二维数表中进行插值,采用分片双二次插值法。

插值过程中,先选择分片区域的中心节点,在数表中的列记为(0:5)tt ,行记为(0:5)uu ,中心节点记为(,)a b ,生成向量_(0:2)t temp ,_(0)(())((1))/(((1)())((1)(1)))i i t temp t tt a t tt a tt a tt a tt a tt a =--+----+, _(1)((1))((1))/((()(1))(()(1)))i i t temp t tt a t tt a tt a tt a tt a tt a =---+---+, _(2)((1))(())/(((1)(1))((1)()))i i t temp t tt a t tt a tt a tt a tt a tt a =---+--+-,同理,生成向量_(0:2)u temp ,_(0)(())((1))/(((1)())((1)(1)))_(1)((1))((1))/((()(1))(()(1)))_(2)((1))(())/(((1)(1))((1)())j j j j j j u temp u uu a u uu a uu a uu a uu a uu a u temp u uu a u uu a uu a uu a uu a uu a u temp u uu a u uu a uu a uu a uu a uu a =--+----+=---+---+=---+--+-)记数表中以分片区域中心节点为中心的3×3的矩阵为T , 对于(,)i j t u 插值结果为(_)()(_)T t temp T u temp 。

北航研究生数值分析试题

北航研究生数值分析试题

∗⎞ ⎟的 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

北航2010考博题型及概率复习经验

北航2010考博题型及概率复习经验

北航2010考博题型一、填空题:4分*11二、计算题12分三、证明题8分四、填空题4分*4(很变态,共出了2大道填空题)五、计算题10分六、计算题10分北航的数学考试在我看来可能是比较弱智的。

考试的题目和一般的本科考试题型没什么区别。

从最基本的填空、选择、到简单解答、证明,综合题目等。

2008考试总共8个大题。

各题的大致内容如下:第一题,填空题(40分!)。

最弱智的题目。

每个空4分!而且它的计算量不见得就是最小的。

比如概率中计算一个分段密度分布的概率……共10道题,如果都想得分,估计至少也需要1小时。

如果您聪明,那也许30分钟搞定。

第二题-第四题,均是简单解答。

分数不等。

主要考试的范围从古典概率,到概率密度运算、到期望方差等。

注意!最后的假设检验和参数估计考的很少!而数据拟合根本就不考。

第五题,是选择题,哈哈!和每个4分!不过选择题感觉稍微好做点,毕竟麻烦的计算少多了。

而且可以采用排除法……第六和第七题,应该属于大题了,哈哈,不过分数不多,每个最多10分。

这两个题目感觉不是很难,没有前面的有些填空题啰嗦呢。

总之,数学考试(我考的是概率统计)感觉最弱智!考的不是博士的分析解决问题的能力,而是考博士生的计算速度和记忆程度。

概率要强调的是高考用到的排列组合空间曲面啮合原理与加工技术王延忠面试时老师一般会就考生的硕士期间研究课题和研究经验等进行提问,同时可能问及考生有关读博期间的研究计划和想法等相关问题。

面试具体情况因人而异,由于时间等具体条件的限制,面试时不可能面面俱到,所以考生不必过于担心,但做好充分的准备还是很有必要的复试复试是个非常重要的环节,因为给你面试的就是自己导师,如果多人笔试过线了的话,导师的取舍很可能就取决于复试的情况。

复试一般来说着重准备以下几个方面:英语、项目经验、科研能力、以及为什么考博。

英语可能是自我介绍,但也有可能给你一篇英语论文,让你先朗读再翻译,这可是相当犀利滴。

而项目、科研方面不用我多说了,合理发挥你的忽悠能力吧,两方面都要准备到位,不过不要过于忽悠,导师们都是人精看得出你有多少斤两的。

研究生数学知识点归纳总结

研究生数学知识点归纳总结在研究生阶段,数学是一门重要的学科,不仅是科研工作的基础,也是培养数理思维和分析能力的重要途径。

为了帮助研究生更好地理解和掌握数学知识,本文将对研究生数学知识点进行归纳总结,并以相应的数学格式进行阐述和讲解。

一、微积分微积分是数学中非常基础且重要的分支,它主要研究函数的极限、连续性、可导性和积分等内容。

以下是几个微积分的重要知识点:1. 极限和连续性在微积分中,极限和连续性是重要的基本概念。

我们可以通过定义和性质来理解和计算各种函数的极限值,进而讨论函数的连续性和间断点。

2. 导数和微分微积分中的导数和微分是描述函数变化率的重要工具。

导数定义了函数在某一点的斜率,可以帮助我们求解函数的极值、判断函数的增减性等。

微分可以将函数变化量用线性逼近的方式表示,对于研究复杂函数的近似计算非常有用。

3. 不定积分和定积分不定积分和定积分分别研究函数的原函数和区间上的变化量。

通过求解不定积分,我们可以找到函数的原函数,进而求得定积分。

定积分描述了函数在给定区间上的累积变化量,是微积分中研究曲线面积、体积和平均值等问题的重要工具。

二、线性代数线性代数是数学中研究向量空间和线性变换的重要分支,对于研究生而言,具备一定的线性代数知识是非常必要的。

以下是几个线性代数的重要知识点:1. 向量空间向量空间是线性代数中重要的基本概念,研究对象是向量和其上的线性运算。

我们可以通过定义和性质来理解和计算向量空间的各种代数结构。

2. 矩阵和行列式矩阵和行列式是线性代数中的重要工具,研究矩阵与向量之间的关系以及行列式对线性变换的影响。

通过计算矩阵的特征值和特征向量,可以研究线性变换的性质和变化规律。

3. 线性方程组线性方程组是线性代数研究的重要内容,它描述了多个线性方程的联立关系。

通过高斯消元法或矩阵的逆运算,可以求解线性方程组的解,并研究线性方程组的解的性质和特点。

三、概率论与数理统计概率论与数理统计是研究随机现象和数据统计的重要数学分支,对于研究生的科研工作和实证研究非常重要。

《数值分析》复习笔记

试对上述方程组作简单调整,使得用 Gauss-Seidel 迭代法求解时,对任意初始向量都收敛,并取初
始向量 x(0) = (0, 0, 0)T,用该迭代方法求近似解 x(k+1)(取小数点后四位) ,使 x
( k 1)
x(k )

10 3 。
7、 (某考题)为求方程 x3-x2-1=0 在初始值 x0=1.5 邻近的一个根,把方程改写成一下等价形式:
(1)求 f (x)的二次牛顿(Newton)插值多项式; (2)求 f (0.25)的近似值(取小数点后五位) ,并写出余项。 5、 (06 期末)给出 f (x)=3.6/x 的数值表: x f (x ) (1)求均差表; (2)写出三次牛顿插值多项式 N3 (x); (3)利用上述插值多项式 N3 (x)计算 f (2.5)的近似值,并估算其误差大小。 6、 (12 期末)确定 a、b、c、d、e 的取值,使得下列函数是以: x y 0 1 1 1 2 0 3 10 1 3.60 2 1.80 3 1.20 4 0.90

1
-1
f ( x)dx A0 f ( x0 ) A1 f ( x1 ) A2 f ( x2 ) 中的高斯点 x0、x1、x2
和求积系数 A0、A1、A2 的值,并指明该求积公式的代数精度; (2)用上述求积公式求积分

3
1
dx 的近似值。 x
4、 (03 期末) (1)写出数值积分梯形法的递推化算法; (2)用龙贝格(Romberg)算法计算积分 I
★ 小明哥说要考的题型
填空题(15 分)、选择题(15 分)、计算及证明题(70 分)
一、插值与逼近(§2、3 章)
☆ 计算题: 1、 (05 期末)已知 y=sinx 的下列数据: x y π/6 0.5000 π/4 0.7071 π/3 0.8660

北航研究生数值分析大作业三

数值分析—计算实习作业三学院:17系专业:精密仪器及机械姓名:张大军学号:DY1417114一、程序设计方案程序设计方案流程图如图1所示。

(注:由本人独立完成,并且有几处算法很巧妙,但同时也有许多不足,可以优化和模块化,由于时间原因只实现了调试通过)图1.程序设计方案流程图二、程序源代码#include <iostream.h>#include <iomanip.h>#include <math.h>#include<stdio.h>#include <conio.h>#define M 10000#define N 4#define E 1.0e-12int zuixiaci;static double c[9][9];static double bijin[8][5];int main(){double X[N]={0,0,0,1};double T[11][21],U[11][21],xianshi[11][21];double diertX[N];double F[N];double f[N][N];double Max1=0,Max2=0;int k,i,j,t,tt=0,yao=0;void qiuF(double * X,double *F,int i,int j);void qiuF2(double *X,double *F,int i,int j);void qiuf(double * X,double (*f)[N]);void qiudiertX(double (*a)[N],double*b,double*X); double gouzaohs(double t,double u); void solve_C(double (*U)[21]); void pp(double (*U)[21],int k);for(i=0;i<11;i++)for(j=0;j<21;j++){for(k=0;k<M;k++){qiuF(X,F,i,j);qiuf(X,f);qiudiertX(f,F,diertX);for(t=0;t<N;t++){X[t]=X[t]+diertX[t];}Max1=0,Max2=0;for(t=0;t<N;t++){if(Max1<fabs(X[t]))Max1=fabs(X[t]);if(Max2<fabs(diertX[t]))Max2=fabs(diertX[t]);}if((Max2/Max1)<=E){k=M;yao=1;T[i][j]=X[0];U[i][j]=X[1];xianshi[i][j]=gouzaohs(X[0],X[1]);cout<<setiosflags(ios::scientific)<<setprecision(12);cout<<setprecision(2)<<"("<<setw(5)<<0.08*i<<","<<setw(5)<< (0.5+0.05*j)<<",";cout<<setprecision(12)<<setw(21)<<xianshi[i][j]<<") ";if(tt==3){tt=0;cout<<'\n';cout<<'\n';}else{tt++;}}}if(yao==0)cout<<"迭代不成功"<<endl; yao=0;}cout<<endl;solve_C(xianshi);pp(xianshi,zuixiaci);tt=0;for(i=1;i<9;i++)for(j=1;j<6;j++){for(k=0;k<M;k++){qiuF2(X,F,i,j);qiuf(X,f);qiudiertX(f,F,diertX);for(t=0;t<N;t++){X[t]=X[t]+diertX[t];}Max1=0,Max2=0;for(t=0;t<N;t++){if(Max1<fabs(X[t]))Max1=fabs(X[t]);if(Max2<fabs(diertX[t]))Max2=fabs(diertX[t]);}if((Max2/Max1)<=E){k=M;yao=1;xianshi[i-1][j-1]=gouzaohs(X[0],X[1]);cout<<setiosflags(ios::scientific)<<setprecision(12);cout<<setprecision(2)<<"("<<setw(5)<<0.1*i<<","<<setw(5)<<( 0.5+0.2*j)<<",";cout<<setprecision(12)<<setw(21)<<xianshi[i-1][j-1]<<","<<set w(21)<<bijin[i-1][j-1]<<") ";if(tt==2){tt=0;cout<<'\n';}else{tt++;}}}if(yao==0)cout<<"迭代不成功"<<endl;yao=0;}cout<<endl;return 1;}void qiuF(double *X,double *F,int i,int j){F[0]=-(0.5*cos(X[0])+X[1]+X[2]+X[3]-0.08*i-2.67);F[1]=-(X[0]+0.5*sin(X[1])+X[2]+X[3]-(0.5+0.05*j)-1.07);F[2]=-(0.5*X[0]+X[1]+cos(X[2])+X[3]-0.08*i-3.74);F[3]=-(X[0]+0.5*X[1]+X[2]+sin(X[3])-(0.5+0.05*j)-0.79); }void qiuF2(double *X,double *F,int i,int j){F[0]=-(0.5*cos(X[0])+X[1]+X[2]+X[3]-0.1*i-2.67);F[1]=-(X[0]+0.5*sin(X[1])+X[2]+X[3]-(0.5+0.2*j)-1.07);F[2]=-(0.5*X[0]+X[1]+cos(X[2])+X[3]-0.1*i-3.74);F[3]=-(X[0]+0.5*X[1]+X[2]+sin(X[3])-(0.5+0.2*j)-0.79); }void qiuf(double *X,double (*f)[N]){f[0][0]=-0.5*sin(X[0]);f[0][1]=1;f[0][2]=1;f[0][3]=1;f[1][0]=1;f[1][1]=0.5*cos(X[1]);f[1][2]=1;f[1][3]=1;f[2][0]=0.5;f[2][1]=1;f[2][2]=-sin(X[2]);f[2][3]=1;f[3][0]=1;f[3][1]=0.5;f[3][2]=1;f[3][3]=cos(X[3]);}//求解关于变化X的线性方程组void qiudiertX(double (*a)[N],double*b,double*X) {double H[N][N]={0},l[N]={0};double B;double sum;int i,j,m,k,z;for(k=0;k<N-1;k++){for(j=k;j<N;j++){l[j]=a[k][j];}z=k;for(m=k;m<N;m++){if(fabs(a[z][k])<fabs(a[m][k]))z=m;}for(j=k;j<N;j++){a[k][j]=a[z][j];a[z][j]=l[j];}B=b[k];b[k]=b[z];b[z]=B;for(i=k+1;i<N;i++){H[i][k]=a[i][k]/a[k][k];for(j=k+1;j<N;j++)a[i][j]=a[i][j]-H[i][k]*a[k][j];b[i]=b[i]-H[i][k]*b[k];}}if(a[N-1][N-1]==0){cout<<"算法失效,停止计算"<<endl; }else{X[N-1]=b[N-1]/a[N-1][N-1];for(k=N-2;k>=0;k--){sum=0;for(j=k+1;j<N;j++){sum=sum+a[k][j]*X[j];}X[k]=(b[k]-sum)/a[k][k];}}}//作二元差值,使用分片二次代数插值double gouzaohs(double t,double u){double T[6]={0,0.2,0.4,0.6,0.8,1},U[6]={0,0.4,0.8,1.2,1.6,2};double Z[6][6]={-0.5,-0.34,0.14,0.94,2.06,3.5,-0.42,-0.5,-0.26,0.3,1.18,2.38,-0.18,-0.5,-0.5,-0.18,0.46,1.42,0.22,-0.34,-0.58,-0.5,-0.1,0.62,0.78,-0.02,-0.5,-0.66,-0.5,-0.02,1.5,0.46,-0.26,-0.66,-0.74,-0.5};double g=0,sum=0,sum1=1,sum2=1;int i=0,j=0,k=0,r=0,kk=0,rr=0;for(i=1;(i<6)&&(T[i]-0.1<t);i++){}for(j=1;(j<6)&&(U[j]-0.2<u);j++){}if(i==1)i=2;if(i==6)i=5;if(j==1)j=2;if(j==6)j=5;sum=0;for(k=i-2;k<i+1;k++)for(r=j-2;r<j+1;r++){sum1=1;sum2=1;for(kk=i-2;kk<i+1;kk++){if(k!=kk){sum1=sum1*(t-T[kk])/(T[k]-T[kk]);}}for(rr=j-2;rr<j+1;rr++){if(r!=rr){sum2=sum2*(u-U[rr])/(U[r]-U[rr]);}}sum=sum+sum1*sum2*Z[k][r];}g=sum;return g;}//求r*s阶矩阵A与s*t阶矩阵B的乘积矩阵Cvoid Multi(double *a, double *b, double *c, int la, int lb, int lc, int r, int s, int t){int i, j, k;for (i=0; i<r; i++)for (j=0; j<t; j++){*(c+i*lc+j)=0;for (k=0; k<s; k++)*(c+i*lc+j)+=*(a+i*la+k)*(*(b+k*lb+j));}}//求n阶方阵A的逆矩阵Bdouble Inverse(double *a, double *b, int la, int lb, int n){int i, j, k;double temp;for(i=0; i<n; i++)for(j=0; j<n; j++)if (i==j)*(b+i*lb+j)=1;else*(b+i*lb+j)=0;for (k=0; k<n; k++){j=k;for (i=k+1; i<n; i++)if (fabs(*(a+i*la+k))>fabs(*(a+j*la+k))) j=i;if (j!=k)for (i=0; i<n; i++){temp=*(a+j*la+i);*(a+j*la+i)=*(a+k*la+i);*(a+k*la+i)=temp;temp=*(b+j*lb+i);*(b+j*lb+i)=*(b+k*lb+i);*(b+k*lb+i)=temp;}if (*(a+k*la+k)==0)return 0;if ((temp=*(a+k*la+k))!=1)for (i=0; i<n; i++){*(a+k*la+i)/=temp;*(b+k*lb+i)/=temp;}for (i=0; i<n; i++)if ((*(a+i*la+k)!=0) && (i!=k)){temp=*(a+i*la+k);for (j=0; j<n; j++){*(a+i*la+j)-=temp*(*(a+k*la+j));*(b+i*lb+j)-=temp*(*(b+k*lb+j));}}}return 0;}void solve_C(double (*U)[21]){int i,j,r,s,k;double t1[21][21], t2[21][21], t3[21][21],d[9][9],e[9][9];double B[11][9], B_T[9][11], G[21][9], G_T[9][21],P[11][21];double temp, FangCha;for(i=0;i<9;i++){for(j=0;j<11;j++){B[j][i]=pow(0.08*j,i);B_T[i][j]=pow(0.08*j,i);}for(j=0;j<21;j++){G[j][i]=pow(0.5+0.05*j,i);G_T[i][j]=pow(0.5+0.05*j,i);}}for (k=0; k<9; k++){FangCha=0;Multi(B_T[0], B[0], t1[0], 11, 9, 21, k+1, 11, k+1);Inverse(t1[0], c[0], 21, 9, k+1);Multi(e[0], c[0], d[0], 9, 9, 9, k+1, k+1, k+1);Multi(c[0], B_T[0], t1[0], 9, 11, 21, k+1, k+1, 11);Multi(t1[0], U[0], t2[0], 21, 21, 21, k+1, 11, 21);Multi(G_T[0], G[0], t1[0], 21, 9, 21, k+1, 21, k+1);Inverse(t1[0], c[0], 21, 9, k+1);Multi(G[0], c[0], t3[0], 9, 9, 21, 21, k+1, k+1);Multi(t2[0], t3[0], c[0], 21, 21, 9, k+1, 21, k+1);for(i=0;i<11;i++)for(j=0;j<21;j++){temp=0;for(r=0;r<k+1;r++)for(s=0;s<k+1;s++)temp+=c[r][s]*B[i][r]*G[j][s];P[i][j]=temp;FangCha+=(U[i][j]-temp)*(U[i][j]-temp);}cout<<"k="<<setw(5)<<k<<";"<<setw(5)<<"Sigma="<<FangCha<<" ;\n"<<'\n';if(FangCha<=1.0e-7){zuixiaci=k;cout<<"达到精度要求时: k="<<setw(5)<<k<<";"<<setw(5)<<"Sigma="<<FangCha<<";\n";cout<<" 系数c(r,s)如下:\n";for(i=0;i<k+1;i++){for(j=0;j<k+1;j++){cout<<"C("<<i<<","<<j<<")="<<setw(21)<<c[i][j]<<"; ";}cout<<endl<<'\n';}cout<<endl;return;}}cout<<"经过8次拟合没有达到所需精度;"<<endl;//最高可拟合10次return;}void pp(double (*U)[21],int k){int i,j,r,s;double B[8][9],G[5][9],temp;for(i=0;i<k+1;i++){for(j=0;j<8;j++){B[j][i]=pow(0.1*(j+1),i);}for(j=0;j<5;j++){G[j][i]=pow(0.5+0.2*(j+1),i);}}for(i=0;i<8;i++)for(j=0;j<5;j++){temp=0;for(r=0;r<k+1;r++)for(s=0;s<k+1;s++)temp+=c[r][s]*B[i][r]*G[j][s];bijin[i][j]=temp;}}三、程序运行结果显示程序运行结果显示如图2。

硕士数学知识点总结

硕士数学知识点总结一、数学分析1. 极限与连续极限的概念是数学分析的基础,是分析函数的重要工具。

连续性是极限的重要应用,用来描述函数在点上的连续性。

在数学分析中,极限与连续是最基本的概念之一。

2. 微分与积分微分和积分是数学分析的重要分支,微分主要研究函数的变化规律,积分主要研究函数的面积和曲线长度。

微分和积分是数学分析的核心内容,也是物理、工程、经济等领域中最常见的数学工具。

3. 函数和级数函数是数学分析中的一个重要概念,级数是分析中的另一个重要概念。

函数是数学分析中研究的基本对象,级数是分析中用来研究无穷和的工具。

4. 泛函分析泛函分析是数学分析的重要分支之一,主要研究无穷维空间中的函数和算子。

泛函分析是抽象数学的重要分支,在数学分析及其应用中有着重要的作用。

5. 复变函数复变函数是数学分析中的一个重要分支,主要研究复数域上的函数。

复变函数是数学分析的重要组成部分,又是其他数学领域的重要工具。

6. 偏微分方程偏微分方程是数学分析中研究的一个重要对象,主要研究多元函数的变化规律。

偏微分方程是数学分析的重要应用,是物理、工程、经济等领域中最常见的数学工具之一。

二、代数学1. 线性代数线性代数是代数学的一个重要分支,主要研究向量空间及其上的线性运算。

线性代数是数学中的一门重要基础课,也是其他数学领域的重要工具。

2. 抽象代数抽象代数是代数学的一个重要分支,主要研究抽象代数结构及其性质。

抽象代数是现代数学的一个重要分支,与实际生活和工程实践有着密切的联系。

3. 群论群论是代数学的一个重要分支,主要研究群及其作用。

群论是现代数学的一个重要分支,对于代数、几何、拓扑等领域有着重要的应用。

4. 环论环论是代数学的一个重要分支,主要研究环及其作用。

环论是现代数学的一个重要分支,对于代数、几何、拓扑等领域有着重要的应用。

5. 域论域论是代数学的一个重要分支,主要研究域及其作用。

域论是现代数学的一个重要分支,对于代数、几何、拓扑等领域有着重要的应用。

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