当前位置:文档之家› 关于大二课程——写给北航6系2012级

关于大二课程——写给北航6系2012级

关于大二课程——写给北航6系2012级
关于大二课程——写给北航6系2012级

关于大二课程——写给北航6系2012级作者:刘沅畅

大二课程简介

10级有学长为我们写了大三选课上课方面的攻略,看了之后自感受益匪浅。觉得这种传统值得传承,于是将11级上课经验传给12级的同学,希望有所帮助。

不过写的东西都是2012-2013年间的事情,到了2013-2014年间,课程可能会变,人也可能会变,还是顺应变化为宜。

必修课

1.计算机组成原理

呃,不知道什么原因,你们不上数字逻辑了,直接上计组了。。。

计组毕竟是考研专业课要考的,而且是硬件方向的,属于过了这个村就没了这个店的课。你的人生只有一次机会去进行RAM扩展。。。需要考的专业课但是老师好像没有换,肖利民老师和刘旭东老师。我是在肖老师的班上的,肖上课喜欢留课堂作业,交不交和交的作业怎么样对平时成绩都会有影响。但是大头还是在考试。考试题量很大,我们今年是9页试卷。。。。而且肖最后给分很蛋疼。。。

2.计算机组成实验

我们2011级是在小学期上的这个课,连续上了9天。你们是用后半学期来上,一周一次课。用到的软件是Quartus II 7.2,一般第一节课会教学一下软件的使用方法,这个软件还是挺捉急的,比如注释不能写中文神马的。我们的数字逻辑实验是完成了很多小实验,计组实验是完成了一个MIPS CPU,你们课改了,God knows. 我们计组实验是有点名的,无预兆的点了两次。。。而且我们7个班分成了三个中班,有三个不同的老师,我侥幸分到了张亮老师,过程没有很惨。。向其他几个班的同学致敬。。。考核的方式是平时的随堂检查(完成某个实验给他检查,讲讲实验原理和结果什么的),最后的大作业(CPU),实验报告(我们是电子版的报告,异常的冗长,写完字数应该是20000+,还有配图若干)我靠,你们是不是不用上

3.毛概

100块钱的毛概,我们是闭卷考试,祝你们好运吧。我们老师都是马骁毅的,每周150分钟,点名频率还是挺高的,对成绩也挺有影响的。

4.概率统计

还是一门数学课,要想得高分还是需要好好学的,我们这届应该考到40就让及格了。老师比较奇葩,说话有口音,一些同学听起来会比较吃力。他喜欢课前把本堂课的作业写在黑板上,原因自行脑补吧。。。随着时间的流逝,很多同学都不上他的课了,他就会用概率的观点对上课的同学们讲翘课的同学面临的危险和不测。。。比较狗血。。

5.数据结构与算法

其实就是数据结构课。。。也是考研四门专业课之一,很重要。主要还是顺着唐发根教授的黄皮数据结构书在讲。我们2011级前大班是郝爱民老师,后大班是钱红兵老师。我是后大班的。上课不点名,平时作业形式与C语言课的形式近似,选择填空题和过测试点的编程题。考试也是这种形式,上机考,选择填空题基本出自那本黄皮书。大题就是老师上课反复讲的那种。

6.职业规划与职业选择

其实和大一上的那个讲座课差不多,内容偏重于就业形势的讲解。每堂课是不同的老师在讲,有微软工作的直系学长,自己创业的老学长等等。。考试形式是一篇文章,写自己的职业规划,分数应该和字数、认真度成正相关。

7.基础物理实验

一门贯穿大二一整年的课,北航“四大名补”之一,说多了都是泪。想必你们都拿到了不少实验报告在手了,好好利用,这是一门需要团结合作,发挥集体智慧的课,但是独立思考能力和动手能力也是必不可少的。实验过程的痛苦程度以及分数的高低都与选择的实验老师有关系,具体的人名可以在选课前多和学哥学姐交流。不过李朝荣老师这样认真负责的人类灵魂的工程师,你们还是要牢牢记住,牢牢记住的。

大二下

1.算法设计与分析

其实没明白算法为什么是1学分。。。1学分就意味着只上半学期,前一半是许可讲的,后一半是韩军讲的。其间韩军点过一次名,平时会有作业。考试题目是韩军出的,他喜欢考他自己的PART,比如:一定会考动态规划(最长子序列或者矩阵链相乘),会考拉斯维加斯算法和蒙特卡洛算法的区别。。。还会悠扬的问,NP问题是最难的问题吗?

2.面向对象建模

这门课感觉比较独特,上课老师是刘超老师,一个气场很足的功夫大师模样的老师。。。这门课课上会有课堂作业,会有平时作业,期末大作业以及考试。应有尽有啊,好在考试是开卷,会让我们稍微好受一点。这门课用的编程语言是Java..截止发稿时,我们的这门成绩都还没有出,感觉水比较深,小马还不知道能不能过河呢

3.马原

50块钱的马原,我们的老师是高宁,80后老师。我上课听的不认真,但是他读书涉猎很广,也很推崇多读书,读好书,我觉得这样的老师还是应该赞一下的。他上课的时候也会推荐一些书~

这门课的考试形式比较奇葩,每人可以带一张A4纸(正反面可写,手写)的半开卷考试,不知道你们会不会延续下去呢?

4.电子工程训练

金工实习的哥哥,一门动手课,用电烙铁焊锡电路板和一个小收音机,很考察动手能力的。早晨上到11点半,下午上到四点。只提醒一点,最后老师问花不花10块钱买收音机,一定要买哦~买了的班长检查,不买的老师检查~

校稿时想起,今年给我们上课的Boss,明年就退休了,所以如果你们是后半学期上,可以找前半学期上的外系同学取取经。

专业选修课

俗话说“选课一时爽,期末火葬场”,专业选修课重不重要,我也说不好,因人而异吧。不过99和69,我觉得还是喜欢前者的居多吧~

我们的培养计划是选够6个专业选修学分,在大二大三两年选完,可以选择的范围还是很大的,不必操之过急。

每门课我会写个推荐指数,五星为满~

1.Java(1学分)

推荐指数:两星

大二上唯一的专业选修课,我们当时90%的同学都选了。Java确实是一门重要的编程语言,后面的很多课程也会用Java去写。这门课有开卷考试以及期末大作业,各占50%。大作业比较吓人(写一个2000行的Java程序),大作业会查抄袭与否,老师认定的抄袭就会给大作业0分。上课不点名。

这个课感觉还可以啊?可是为什么我给了两星呢?打个比方吧,教练与球队的关系就像老师与课程的关系,那Java老师与Java课程的关系就相当于卡马乔与中国国足的关系了。

2.UNIX(1学分)

推荐指数:四星

开卷考试及一个比较轻松的大作业,比例不详。上课的吕良双老师自己讲他的刀不快,所以他给的分数还可以。上课不点名。感觉这个1学分赚得还挺值得。

3.C++&C#程序设计(1学分)

推荐指数:四星

只有大作业,和一些加分的思考题。没有考试,上课不点名。上课的是刘禹和盛浩,这两个老师长的都挺有特点的。。。刘禹讲C++,不用课件,直接用VC写代码;盛浩讲C#,比较传统的PPT讲解方法。

没有考试的课程,我想大家不会太反感吧?

4.离散数学3(组合数学)(2学分)

推荐指数:三星

只有考试。上课不点名。

用的教材不是离散3那本,而是黑皮的组合数学教材。基本还是一门数学课,偏重于排列组合方面的,考试题的形式有一种高中题目的感觉。老师会在考前把去年考试题给我们,这也就意味着每年的题都是新的。。。总的来说,这门课用处不小,难度也不小。2学分肯定比1学分的难。

软件与理论方向必修

计算引论

可计算理论的一个导论课。主要介绍一下可计算理论,图灵机方面的内容,平常会有点名,考试形式是一个文献综述,具体到时候会讲。认真对待,不会吃苦。

北航数值分析大作业一

《数值分析B》大作业一 SY1103120 朱舜杰 一.算法设计方案: 1.矩阵A的存储与检索 将带状线性矩阵A[501][501]转存为一个矩阵MatrixC[5][501] . 由于C语言中数组角标都是从0开始的,所以在数组MatrixC[5][501]中检索A的带内元素a ij的方法是: A的带内元素a ij=C中的元素c i-j+2,j 2.求解λ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和行列式d etA。 ①cond(A)2=|λ1/λn|,其中λ1和λn分别是矩阵A的模最大和 最小特征值。

②矩阵A的行列式可先对矩阵A进行LU分解后,detA等于U所有对角线上元素的乘积。 二.源程序 #include #include #include #include #include #include #include #define E 1.0e-12 /*定义全局变量相对误差限*/ int max2(int a,int b) /*求两个整型数最大值的子程序*/ { if(a>b) return a; else return b; } int min2(int a,int b) /*求两个整型数最小值的子程序*/ { if(a>b) return b; else return a; } int max3(int a,int b,int c) /*求三整型数最大值的子程序*/ { int t; if(a>b) t=a; else t=b; if(t

北航数值分析大作业第一题幂法与反幂法

《数值分析》计算实习题目 第一题: 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 #include void init_a();//初始化A double 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];//矩阵A int main() { int i,k; double lambdat1,lambdat2,lambda1,lambda501,lambdas,mu[40],det;

北航数值分析报告第三次大作业

数值分析第三次大作业 一、算法的设计方案: (一)、总体方案设计: x y当作已知量代入题目给定的非线性方程组,求(1)解非线性方程组。将给定的(,) i i

得与(,)i i x y 相对应的数组t[i][j],u[i][j]。 (2)分片二次代数插值。通过分片二次代数插值运算,得到与数组t[11][21],u[11][21]]对应的数组z[11][21],得到二元函数z=(,)i i f x y 。 (3)曲面拟合。利用x[i],y[j],z[11][21]建立二维函数表,再根据精度的要求选择适当k 值,并得到曲面拟合的系数矩阵C[r][s]。 (4)观察和(,)i i p x y 的逼近效果。观察逼近效果只需要重复上面(1)和(2)的过程,得到与新的插值节点(,)i i x y 对应的(,)i i f x y ,再与对应的(,)i i p x y 比较即可,这里求解 (,)i i p x y 可以直接使用(3)中的C[r][s]和k 。 (二)具体算法设计: (1)解非线性方程组 牛顿法解方程组()0F x =的解* x ,可采用如下算法: 1)在* x 附近选取(0) x D ∈,给定精度水平0ε>和最大迭代次数M 。 2)对于0,1, k M =执行 ① 计算() ()k F x 和()()k F x '。 ② 求解关于() k x ?的线性方程组 () ()()()()k k k F x x F x '?=- ③ 若() () k k x x ε∞∞ ?≤,则取*()k x x ≈,并停止计算;否则转④。 ④ 计算(1) ()()k k k x x x +=+?。 ⑤ 若k M <,则继续,否则,输出M 次迭代不成功的信息,并停止计算。 (2)分片双二次插值 给定已知数表以及需要插值的节点,进行分片二次插值的算法: 设已知数表中的点为: 00(0,1,,) (0,1,,)i j x x ih i n y y j j m τ=+=???=+=?? ,需要插值的节点为(,)x y 。 1) 根据(,)x y 选择插值节点(,)i j x y : 若12h x x ≤+ 或12 n h x x ->-,插值节点对应取1i =或1i n =-,

北航数值分析大作业第二题精解

目标:使用带双步位移的QR 分解法求矩阵10*10[]ij A a =的全部特征值,并对其中的每一个实特征值求相应的特征向量。已知:sin(0.50.2)() 1.5cos( 1.2)(){i j i j ij i j i j a +≠+== (i,j=1,2, (10) 算法: 以上是程序运作的逻辑,其中具体的函数的算法,大部分都是数值分析课本上的逻辑,在这里特别写出矩阵A 的实特征值对应的一个特征向量的求法: ()[]()() []()[]()111111I 00000 i n n n B A I gause i n Q A I u Bu u λλ-?-?-=-?-?? ?-=????→=??????→= ?? ? 选主元的消元 检查知无重特征值 由于=0i A I λ- ,因此在经过选主元的高斯消元以后,i A I λ- 即B 的最后一行必然为零,左上方变 为n-1阶单位矩阵[]()()11I n n -?-,右上方变为n-1阶向量[]()11n Q ?-,然后令n u 1=-,则 ()1,2,,1j j u Q j n ==???-。

这样即求出所有A所有实特征值对应的一个特征向量。 #include #include #include #define N 10 #define E 1.0e-12 #define MAX 10000 //以下是符号函数 double sgn(double a) { double z; if(a>E) z=1; else z=-1; return z; } //以下是矩阵的拟三角分解 void nishangsanjiaodiv(double A[N][N]) { int i,j,k; int m=0; double d,c,h,t; double u[N],p[N],q[N],w[N]; for(i=0;i

北航数值分析大作业第二题

数值分析第二次大作业 史立峰 SY1505327

一、 方案 (1)利用循环结构将sin(0.50.2)() 1.5cos( 1.2)() {i j i j ij i j i j a +≠+==(i,j=1,2,……,10)进行赋值,得到需要变换的 矩阵A ; (2)然后,对矩阵A 利用Householder 矩阵进行相似变换,把A 化为上三角矩阵A (n-1)。 对A 拟上三角化,得到拟上三角矩阵A (n-1),具体算法如下: 记A(1)=A ,并记A(r)的第r 列至第n 列的元素为()n r r j n i a r ij ,,1,;,,2,1) ( +==。 对于2,,2,1-=n r 执行 1. 若 ()n r r i a r ir ,,3,2) ( ++=全为零,则令A(r+1) =A(r),转5;否则转2。 2. 计算 () ∑+== n r i r ir r a d 1 2 )( ()( )r r r r r r r r r r d c a d a c ==-=++则取,0sgn ) (,1)(,1若 )(,12r r r r r r a c c h +-= 3. 令 () n T r nr r r r r r r r r R a a c a u ∈-=++) ()(,2)(,1,,,,0,,0 。 4. 计算 r r T r r h u A p /)(= r r r r h u A q /)(= r r T r r h u p t /= r r r r u t q -=ω T r r T r r r r p u u A A --=+ω)()1( 5. 继续。 (3)使用带双步位移的QR 方法计算矩阵A (n-1)的全部特征值,也是A 的全部特征值,具体算法如下: 1. 给定精度水平0>ε和迭代最大次数L 。 2. 记n n ij n a A A ?-==][) 1()1()1(,令n m k ==,1。

北航数值分析报告大作业第八题

北京航空航天大学 数值分析大作业八 学院名称自动化 专业方向控制工程 学号 学生姓名许阳 教师孙玉泉 日期2014 年11月26 日

一.题目 关于x , y , t , u , v , w 的方程组(A.3) ???? ?? ?=-+++=-+++=-+++=-+++79 .0sin 5.074.3cos 5.007.1cos sin 5.067.2cos 5.0y w v u t x w v u t y w v u t x w v u t (A.3) 以及关于z , t , u 的二维数表(见表A-1)确定了一个二元函数z =f (x , y )。 表A-1 二维数表 t z u 0 0.4 0.8 1.2 1.6 2 0 -0.5 -0.34 0.14 0.94 2.06 3.5 0.2 -0.42 -0.5 -0.26 0.3 1.18 2.38 0.4 -0.18 -0.5 -0.5 -0.18 0.46 1.42 0.6 0.22 -0.34 -0.58 -0.5 -0.1 0.62 0.8 0.78 -0.02 -0.5 -0.66 -0.5 -0.02 1.0 1.5 0.46 -0.26 -0.66 -0.74 -0.5 1. 试用数值方法求出f (x , y ) 在区域}5.15.0,8.00|), {≤≤≤≤=y x y x D (上的近似表达式 ∑∑===k i k j s r rs y x c y x p 00 ),( 要求p (x , y )以最小的k 值达到以下的精度 ∑∑==-≤-=10020 7210)],(),([i j i i i i y x p y x f σ 其中j y i x i i 05.05.0,08.0+==。 2. 计算),(),,(* ***j i j i y x p y x f (i =1,2,…,8 ; j =1,2,…,5) 的值,以观察p (x , y ) 逼 近f (x , y )的效果,其中j y i x j i 2.05.0,1.0**+==。

北航数值分析课程第一次大作业讲解

《数值分析A》计算实习题目第一题 一.算法设计方案: 1.矩阵A的存储与检索 将带状线性矩阵A[501][501]转存为一个矩阵MatrixC[5][501] . 由于C语言中数组角标都是从0开始的,所以在数组MatrixC[5][501]中检索A的带内元素a ij的方法是: A的带内元素a ij=C中的元素c i-j+2,j 2.求解λ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和行列式d etA。 ①cond(A)2=|λ1/λn|,其中λ1和λn分别是矩阵A的模最大和最小特征值。 ②矩阵A的行列式可先对矩阵A进行LU分解后,detA等于U所有

对角线上元素的乘积。 二.源程序(VS2010环境下,C++语言) #include #include #include #include #include #include #include #define E 1.0e-12 /*定义全局变量相对误差限*/ int max2(int a,int b) /*求两个整型数最大值的子程序*/ { if(a>b) return a; else return b; } int min2(int a,int b) /*求两个整型数最小值的子程序*/ { if(a>b) return b; else return a; } int max3(int a,int b,int c) /*求三整型数最大值的子程序*/ { int t; if(a>b) t=a; else t=b; if(t

北航数值分析大作业3

一、算法设计方案 1.使用牛顿迭代法,对原题中给出的i x i 08.0=,j y j 05.05.0+=, (010 ,020i j ≤≤≤≤)的11*21组j i y x ,分别求出原题中方程组的一组解,于是得到一组和i i y x ,对应的j i t u ,。 2.对于已求出的j i t u ,,使用分片二次代数插值法对原题中关于u t z ,,的数表进行插值得到 ij z 。于是产生了z=f(x,y)的11*21个数值解。 3.从k=1开始逐渐增大k 的值,并使用最小二乘法曲面拟合法对z=f(x,y)进行拟合,得到每次的σ,k 。当7 10-<σ时结束计算,输出拟合结果。 4.计算)5,,2,1,8,,2,1)(,(),,(* ***???=???=j i y x p y x f j i j i 的值并输出结果,以观察),(y x p 逼近),(y x f 的效果。其中j y i x j i 2.05.0,1.0* *+==。 二、算法实现方案 1、求(,)f x y : (1)Newton 法解非线性方程组 0.5cos 2.670.5sin 1.07(1)0.5cos 3.740.5sin 0.79 t u v w x t u v w y t u v w x t u v w y +++-=??+++-=? ? +++-=??+++-=?, 其中,t, u, v ,w 为待求的未知量,x, y 为代入的已知量。 设(,,,)T t u v w ξ=,给定精度水平12110ε-=和最大迭代次数M ,则解该线性方程组的迭代格式为: *(0)(0)(0)(0)(0)(k+1) ()()1()(,,,)()()0,1,T k k k t u v w F F k ξξξ ξξξ-?=?'=-??= ? 在附近选取初值, 迭代终止条件为()(1) () 1/k k k ξξ ξε-∞ ∞ -≤,若k M >时仍未达到迭代精度,则迭代计算失 败。 其中,雅可比矩阵 0.5*cos(t) + u + v + w - x - 2.67t + 0.5*sin(u) + v + w - y - 1.07()0.5*t + u + cos(v) + w - x - 3.74t + 0.5*u + v + sin(w) - y - 0.79F ξ???? ? ?=?????? ,

BUAA数值分析大作业三

北京航空航天大学2020届研究生 《数值分析》实验作业 第九题 院系:xx学院 学号: 姓名: 2020年11月

Q9:方程组A.4 一、 算法设计方案 (一)总体思路 1.题目要求∑∑=== k i k j s r rs y x c y x p 00 ),(对f(x, y) 进行拟合,可选用乘积型最小二乘拟合。 ),(i i y x 与),(i i y x f 的数表由方程组与表A-1得到。 2.),(* * j i y x f 与1使用相同方法求得,),(* * j i y x p 由计算得出的p(x,y)直接带入),(* * j i y x 求得。

1. ),(i i y x 与),(i i y x f 的数表的获得 对区域D ={ (x,y)|1≤x ≤1.24,1.0≤y ≤1.16}上的f (x , y )值可通过xi=1+0.008i ,yj=1+0.008j ,得到),(i i y x 共31×21组。将每组带入A4方程组,即可获得五个二元函数组,通过简单牛顿迭代法求解这五个二元数组可获得z1~z5有关x,y 的表达式。再将 ),(i i y x 分别带入z1~z5表达式即可获得f(x,y)值。 2.乘积型最小二乘曲面拟合 2.1使用乘积型最小二乘拟合,根据k 值不用,有基函数矩阵如下: ????? ??=k i i k x x x x B 0000 , ????? ??=k j j k y y y y G 0000 数表矩阵如下: ???? ? ? ?=),(),(),(),(0000j i i j y x f y x f y x f y x f U 记C=[rs c ],则系数rs c 的表达式矩阵为: 11-)(-=G G UG B B B C T T T )( 通过求解如下线性方程,即可得到系数矩阵C 。 UG B G G C B B T T T =)()( 2.2计算),(),,(* ***j i j i y x p y x f (i =1,2,…,31 ; j =1,2,…,21) 的值 ),(**j i y x f 的计算与),(j i y x f 相同。将),(**j i y x 代入原方程组,求解响应) ,(* *ij ij u t 进行分片双二次插值求得),(**j i y x f 。),(* *j i y x p 的计算则可以直接将),(**j i y x 代入所求p(x,y)。 二、 源程序 ********* 第三次数值分析大作业Q9************ integer::i, j, K1, L1, n, m dimension X(31), Y(21), T(6), U(6), Z(6, 6), UX(11, 21), TY(11, 21), FXY(11, 21), C(6, 6) dimension z1(31, 21), z2(31, 21), z3(31, 21), z4(31, 21), z5(31, 21) dimension X1(8), Y1(5), FXY1(8, 5), PXY1(8, 5), UX1(8, 5), TY1(8, 5)

北航数值分析大作业第二次

《数值分析》计算实习作业 (第二题)

算法设计方案: 1、对矩阵A 赋值,取计算精度ε=1×10-12; 2、对矩阵A 进行拟上三角化,得到A (n-1),并输出A (n-1); 对矩阵A 的拟上三角化,通过直接调用子函数inftrianglize(A)来实现;拟上三角化得到的矩阵A (n-1)输出至文件solution.txt 中。 3、对A (n-1)进行QR 分解并输出Q 、R 及RQ 矩阵; QR 分解通过直接调用子函数QRdescom(A,Q,R, n)实现。 4、运用QR 方法求所有的特征值,并输出; (1)初始时令m=n ,在m>2的条件下执行; (2)判断如果|A mm-1|<ε,则得到一个特征值,m=m-1,转(4);否则转(3); (3)判断如果|A m-1m-2|<ε,则得到两个特征值,m=m-2,转(4); (4)判断如果m ≤2,转(6);否则转(5); (5)执行相似迭代,转(2); k k T k k k k k k k k k k Q A Q A R Q M I D A D tr A M ==+-=+1)2)det(( (6)求出最后的一个或两个特征值; (7)输出全部的特征值至文件solution.txt 中。 5、输出QR 分解法迭代结束之后的A (n-1)至文件solution.txt 中; 6、通过反幂法求出所有实特征值的特征向量并输出。 首先令B=(A-λi I),其中λi 是实特征值;反幂法通过调用子函数Bpowmethod(B,x1)实现,最终λi 对应的特征向量就是x1;最后将所有的实特征值的特征向量输出。

北航数值分析大作业 第二题 QR分解

数值分析第二题 梁进明 SY0906529 算法设计方案。 一.矩阵的QR 分解。把矩阵A 分解为一个正交矩阵Q 与一个上三角矩阵R 的乘积,称为矩阵A 的 正三角分解,简称QR 分解。QR 分解的算法如下: 记1A A =,并记[]r ij n n Ar a ?=,令1Q I =(n 阶单位矩阵) 对于r=1,2,…,n-1执行 (1) 若(1,2,...,)r ir a i r r n =++全为零,则令1r r Q Q +=,1r r A A +=转(5);否则转(2) (2) 计算 2r d = ()sgn()r r rr r c a d =-(若() 0r rr a =,则取r r c d =) 2() r r r r rr h c c a =- (3) 令()()()1,(0,...,0,,,...,)r r r T n r rr r r r nr u a c a a R +=-∈ (4) 计算 11//r r r T r r r r r T r r r r T r r r r Q u Q Q u h p A u h A A u p ωω++==-==- (5) 继续 当此算法执行完后就得到正交矩阵n Q Q =和上三角矩阵n R A =且有A QR =。 二.矩阵的 拟上三角化。对实矩阵A 的拟上三角化具体算法如下: 记(1) A A =,并记()r A 的第r 列到第n 列的元素为(1,2,...,;,1,...,)r ij a i n j r r n ==+。 对于1,2,...,2r n =-执行 (1) 若() (2,3,...,)r ir a i r r n =++全为零,则令(1) ()r r A A +=,转(5);否则转(2)。 (2) 计算

北航数值分析大作业第二题(fortran)

北航数值分析大作业第二题(f o r t r a n) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

“数值分析“计算实习大作业第二题 ——SY1415215 孔维鹏一、计算说明 本程序采用带双步位移的QR方法求解矩阵A的所有特征值,然后采用反幂法求解矩阵A的实特征值对应的特征向量。 在采用带双步位移的QR方法求解特征值时,对教材上所提供的具体算法作稍微的改动,以简化程序,具体算法如下所示: 1、计算出A拟上三角化后的矩阵,给定精度水平和最大迭代次数L; 2、记,令k=1,m=n; 3、如果,则可直接计算出最后1或2个特征值,转8,否则转4; 4、如果,则可得一个特征值,置m=m-1;转3,否则转5; 5、如果,则可得两个特征值,置m=m-2;转3,否则转6; 6、记,计算 7、k=k+1,转3 8、A的全部特征值已经求出,停止计算。

二、计算源程序(FORTRAN) PROGRAM SY1415215_2 PARAMETER (N=10) DIMENSION A(N,N),A1(N,N),A2(N,N),C(2,N),Q(N,N),R(N,N),CR(N),CM(N)!C为存储特征值的数组,1为实部,为虚部 REAL(8) A,A1,A2,C,Q,R,CM E=1E-12 !精度水平 L=1000 !迭代最大次数 OPEN(1,FILE='数值分析大作业第二题计算结果.TXT') DO I=1,N DO J=1,N IF(I==J) THEN A(I,J)=*COS(I+*J) ELSE A(I,J)=SIN*I+*J) ENDIF ENDDO ENDDO A1=A WRITE(*,"('矩阵A为:')") WRITE(1,"('矩阵A为:')") DO I=1,N DO J=1,N WRITE(*,"(2X,,2X,\)") A(I,J) WRITE(1,"(2X,,2X,\)") A(I,J)

北航数值分析大作业3

《数值分析B》 第三次数值分析大作业 院系:04 能源与动力工程学院 姓名:王开逍 学号:SY1104207

一.算法设计方案: 1、使用牛顿迭代法,对原题中给出的X(I)=0.08*I,Y(J)=0.5+0.05*J的11*21组X(I),Y(J)分别求得原题非线性方程组的一组解,于是得到一对和X(I),Y(J)对应的T(I),U(J). 2、对于已经求出来的U(I),T(J),使用分片二次代数插值法对原题中关于Z,T,U的数表进行插值,得到Z(I,J).于是产生了Z=F(X,Y)的11*21个数值解. 3、从K=1开始逐渐增大K的值,并使用最小二乘曲面拟合法对Z=F(X,Y)进行拟合,得到每次的K和精度TAO,当TAOb0)then b0=a0 end if if(b0>c0)then c0=b0 end if if(c0>d0)then d0=c0 end if max12=d0 end function subroutine qiugeng(x,y,t,u) !求题中所给非线性方程组的解,并且使用牛顿迭代法 real(kind=8) x,y,t,u real(kind=8) w,v,a(4,4),det(4),b(4) integer i,j t=0.5 u=0.5 w=1 v=1

北航数值分析第二次大作业--QR分解

《数值分析A》计算实习题目二 姓名 学号

数值分析第二次大作业 一、算法设计方案 首先构造矩阵A,利用Householder矩阵对矩阵A作相似变换,把A化为拟上三角矩阵A(n-1),算法如课本P61。 使用QR分解法对矩阵A(n-1)进行QR分解,算法如课本P59, 进而求出所得矩阵的Q、R、RQ矩阵。 然后对A(n-1)进行带双步位移的QR分解求矩阵的全部特征值,采用以下几步进行: 第一步:判断是否a m,m-1(k)<=ε ,若不是,则进入第四步。若是,则a m,m-1(k)为特征值,m=m-1,若m=1,则进入第二步,若m=2进入第三步,否则转第四步。 第二步:m=1,则a11(k)为特征值,转向结束步。 第三步:m=2,则可以求出A的两个特征值s1和s2,转向结束步。 第四步:判断是否a m-1,m-2(k)<=ε,若不是,进入第五步。若是,则得到A的两个特征值s1和s2,令m=m-2,若m=1,进入第二步,若m=2进入第三步,否则进入第一步。 第五步:判断是否达到循环上限,若达到,则结束,否则进入第六步。 第六步:对A进行双步位移QR分解,这里的算法如课本P64,分解后转向计数步。 计数步:对循环次数进行计数,并转向第一步。 结束步:显示所求得的特征值。 最后对实特征值利用列主元高斯消元法求解其对应的特征向量,算法如课本p17.

二、源程序代码 #include #include #include int i,j,k,l,m; //定义外部变量double d,h,b,c,t,s; double A[10][10],AA[10][10],R[10][10],Q[10][10],RQ[10][10]; double X[10][10],Y[10][10],Qt[10][10],M[10][10]; double U[10],P[10],T[10],W[10],Re[10]={0},Im[10]={0}; double epsilon=1e-12; void main() { void Quasiuppertriangular(double A[][10]); void QRdecomposition(double A[][10]); void DoublestepsQR(double A[][10]); int i,j; for(i=0;i<10;i++) { for(j=0;j<10;j++) { A[i][j]=sin(0.5*(i+1)+0.2*(j+1)); Q[i][j]=0; AA[i][j]=A[i][j]; } A[i][i]=1.5*cos(2.2*(i+1)); AA[i][i]=A[i][i]; } Quasiuppertriangular(A); //调用拟上三角化函数printf( "\n A经过拟上三角化矩阵为:\n\n"); for(i=0;i<10;i++) //输出拟上三角化矩阵 { for(j=0;j<10;j++)

北航数值分析第三次大作业

数值分析第三次大作业 一、算法的设计方案 1、求解非线性方程组 将题目中给出的(,)i i x y 当作已知量代入题目给定的非线性方程组,求出与 (,)i i x y 相对应的数组te[i][j],ue[i][j],此处采用的是牛顿法解非线性方程组,其 算法如书上91页所示。 2、分片二次代数插值 对所求出的数组te[i][j],ue[i][j],通过分片二次代数插值运算,得到与数组te[11][21],ue[11][21]对应的数组ze[11][21],从而得到二元函数z=(,)i i f x y ,此处采用如书上101页例2中所示的分片二次代数插值。 3、曲面插值 利用x[11],y[21],ze[11][21]建立二维函数表,进行曲面插值计算,逐步提高k 值,计算其精度,看其是否满足要求,以此来确定循环结束的时刻,并得到曲面拟合的系数矩阵C[r][s],此处的算法如书142页所示,只需将所需矩阵给出,然后按公式进行计算即可。 4、比较 观察和),(j i y x p 逼近(,)i i f x y 的效果。观察逼近效果只需要利用新给的点列 (,)i i x y 重复上面(1)和(2)的过程,得到与新的插值节点(,)i i x y 对应的(,) i i f x y , 再与对应的(,)i i p x y 比较即可,这里求解(,)i i p x y 可以直接使用(3)中的C[r][s]和k 。 5、几点说明 分片二次插值的结果x[i],y[j],ze[i][j]输出到一个文件shubiao.txt 中,方便结果的复制与粘贴。 曲面插值的结果输出到一个文件xishu.txt 中,包括循环中每一次的k 值以及误差平方和sigma 的值,还有最后满足误差要求时曲面插值的系数C[r][s]。 观察逼近效果的结果输出到一个文件shubiao1.txt 中,方便结果的复制与粘贴。

北航数值分析大作业第一题幂法与反幂法

北航数值分析大作业第一题幂法与反幂法 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

《数值分析》计算实习题目 第一题: 1. 算法设计方案 (1)1λ,501λ和s λ的值。 1)首先通过幂法求出按模最大的特征值λt1,然后根据λt1进行原点平移求出另一特征值λt2,比较两值大小,数值小的为所求最小特征值λ1,数值大的为是所求最大特征值λ501。 2)使用反幂法求λs ,其中需要解线性方程组。因为A 为带状线性方程组,此处采用LU 分解法解带状方程组。 (2)与140 k λλμλ-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 #include void init_a();//初始化A double get_an_element(int,int);//取A 中的元素函数 double powermethod(double);//原点平移的幂法 double inversepowermethod(double);//原点平移的反幂法

北航数值分析A大作业3

一、算法设计方案 1、解非线性方程组 将各拟合节点(x i ,y j )分别带入非线性方程组,求出与 (,)i i x y 相对应的数组 te[i][j],ue[i][j],求解非线性方程组选择 Newton 迭代法,迭代过程中需要求解线性方程组,选择选主元的Doolittle 分解法。 2、二元二次分偏插值 对数表z(t,u)进行分片二次代数插值,求得对应(t ij ,u ij )处的值,即为),(j i y x f 的值。根据给定的数表,可将整个插值区域分成 16 个小 的区域,故先判断t ij , u ij 所在,的区域,再作此区域的插值,计算 z ij ,相应的Lagrange 形式的插值多项式为: °11 2211 (,)()()(,)m n k r k r k m r n p t u l t l u f t u ++=-=-= ∑∑ 其中 1 1()m w k w m k w w k t t l t t t +=-≠-= -∏ (k=m-1, m, m+1) °1 1()n w r w n r w w r y y l u y y +=-≠-= -∏ (r=n-1, n, n+1)

3、曲面拟合 从k=1开始逐渐增大k 的值,使用最小二乘法曲面拟合法对z=f(x,y)进行拟合,当710-<σ时结束计算。拟合基函数φr (x)ψs (y)选择为φr (x)=x r ,ψs (y)=y s 。拟合系数矩阵c 通过 连续两次解线性方程组求得。[]rs c * =C ,11()()T T T --=C B B B UG G G 其中 01 110101 1 [()]1 k k r i k x x x x x x x ?????? ?==?? ??????B L L M M M M L ,0 01 1101011 [()]1 k k s j k y y y y G y y y ψ????? ? ==???????? L L M M M M L [(,)]i j f x y =U 4、观察比较 计算)5,,2,1,8,,2,1)(,(),,(****???=???=j i y x p y x f j i j i 的值并输出结果,以观察),(y x p 逼近),(y x f 的效果。其中j y i x j i 2.05.0,1.0**+==。 二、全部源程序 // hean.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include

北航数值分析A大作业

一、算法设计方案 1、解非线性方程组 将各拟合节点(x i ,y j )分别带入非线性方程组,求出与(,)i i x y 相对应的数组te[i][j],ue[i][j],求解非线性方程组选择Newton 迭代法,迭代过程中需要求解线性方程组,选择选主元的Doolittle 分解法。 2、二元二次分偏插值 对数表z(t,u)进行分片二次代数插值,求得对应(t ij ,u ij )处的值,即为),(j i y x f 的值。根据给定的数表,可将整个插值区域分成 16 个小 的区域,故先判断(t i j , u ij ) 所在,的区域,再作此区域的插值,计算 z ij ,相应的Lagrange 形式的插值多项式为: 11 2211(,)()()(,)m n k r k r k m r n p t u l t l u f t u ++=-=-= ∑∑ 其中 1 1()m w k w m k w w k t t l t t t +=-≠-=-∏ (k=m-1, m, m+1) 1 1()n w r w n r w w r y y l u y y +=-≠-= -∏ (r=n-1, n, n+1) 3、曲面拟合 从k=1开始逐渐增大k 的值,使用最小二乘法曲面拟合法对z=f(x,y)进行拟合,当710-<σ时结束计算。拟合基函数φr (x)ψs (y)选择为φr (x)=x r ,ψs (y)=y s 。 拟合系数矩阵c 通过连续两次解线性方程组求得。[]rs c *=C ,11()()T T T --=C B B B UG G G 其中

0011101011[()]1k k r i k x x x x x x x ???????==????????B ,0011101011[()]1k k s j k y y y y G y y y ψ??????==???????? [(,)]i j f x y =U 4、观察比较 计算)5,,2,1,8,,2,1 )(,(),,(****???=???=j i y x p y x f j i j i 的值并输出结果,以观察),(y x p 逼近),(y x f 的效果。其中j y i x j i 2.05.0,1.0* *+==。 二、全部源程序 // hean.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include void Set_non_JacobiA(double * A,double * x);//求题中非线性方程组对应自变量向量x 的雅克比//矩阵 void Set_non_B(double * B,double * x,double a,double b);//求非线性方程组Newton 迭代法的右 //端式:-F(x) void Array_Mult_Array(double * A,double * B,int m,int s,int n,double * C);//矩阵相乘AB =C void Transpose(double *A,int m,int n,double * AT);//转置 void Doolittle(double *A,int n,int *M);

相关主题
文本预览
相关文档 最新文档