数学学院创新性实验结题报告书

数学学院创新性实验结题报告书

ID:30834920

大小:291.94 KB

页数:12页

时间:2019-01-03

数学学院创新性实验结题报告书_第1页
数学学院创新性实验结题报告书_第2页
数学学院创新性实验结题报告书_第3页
数学学院创新性实验结题报告书_第4页
数学学院创新性实验结题报告书_第5页
资源描述:

《数学学院创新性实验结题报告书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、GUILINUNIVERSITYOFELECTRONICTECHNOLOGY数学与计算科学学院创新性实验结题报告书实验题目:矩阵秩的计算方法及其程序实现实验成绩(教师填写):学院:数学与计算科学学院专业:统计学组长姓名(学号):1500720126李双小组成员(学号):1500720126李双1500720103冯珊珊1500720129刘凯文指导教师:段雪峰2016年10月21日一、实验目的及主要创新性点:通过系统学习矩阵秩的理论与数值方法,设计程序求解矩阵的秩,尤其是各种结构矩阵的秩。主耍创新点在于实现

2、各种矩阵秩的计算方法,再把这些方法进行数值比较。查阅资料的时候发现虽然高斯消元法可以实现矩阵的秩的计算,但是高斯消元法只是适用于方阵。所以需要我们自己利用已学的知识设计算法。二、实验要求:1、完成实验报告一份。2、提交实验程序一份。三、实验原理:求矩阵秩有两种常用方法:一种是用初等变换的方法;矩阵求秩是以对矩阵进行行(列)的初等变换至阶梯形,此阶梯形的非零行的数H就是秩的值。另一种是用矩阵的子式的方法。矩阵的最高阶非零子式的阶数就是矩阵的秩。通过矩阵的了式取矩阵的秩时,随着矩阵的行列数增加,需要取到的了式数

3、会成指数式的增长,使程序的复朵度快速上升,效率降低。所以我们采用在数学计算中最常用的初等变换來作为程序的原理。初步算法的设计:1.输入行为叭列数为n的矩阵;2.判断,换行(列),计算,将矩阵化为行阶梯形:先判断all;若all!=0,则用第1行将2,3,...,m行的第1列元索化为0;若al1=0,则判断a21;若a21!=0,则将第1行与第2行元素互换,用第1行将行的第1列元素化为0;若a21=0,则判断a31;•••若ami!=0,则将第1行与第m行元素互换,用第1行将2,3,...,m行的第1列元索化

4、为0;若aml=0,则判断am2;•••若anm!二0,则将第1行与第m行元素互换,用第1行将2,3,...』行的第1列元素化为0;若amn=0,则说明矩阵中所有元素都为0・3.通过行阶梯形计算矩阵的秩•矩阵的秩等于矩阵行阶梯形屮非0行的行数.具体算法与部分相关程序:(i表示行数,j表示列数)由于使用平台是VisualStudio2015,所以输入函数是scanf_s而不是scanf.在vc++上应用时改为scanf便可以1.输入矩阵,和显示矩阵通过两个独立的函数实现;输入矩阵:for(i=1;i<=m;i

5、卄)printf(〃第%(1行:t〃,i);for(j二1;j<=n;j++)scanf_s&cirr[i][j]);printf(,za[%d][%d]=%.31fz,,i,j,arr[i][j]);printf(〃〃);}}输出(显示矩阵):for(i=1;i<=m;i++){for(j=1;j<=n;j++)printf(〃t%・31f〃,arr[i][j]);printf(〃rT);}2.将矩阵转化行阶梯形。代码:intii=l;for(j=l;j<=n;j++){for(i=ii;i

6、<=m;i++){if(a[i][j]==0)continue;else{/*交换矩阵的第i行与第ii行的所有元素*/for(k二1;k<=n;k++){temp=a[i][k];a[i][k]=a[ii][k];a[ii][k]=temp;}}break;}if(i==m+1)continue;/*将第j列元素转化*/for(i=ii+1;i<=m;i++){temp=a[i][j]/a[ii][j];for(k=1;k<=n;k++)a[i][k]=a[i][k]一temp*a[ii][k];print

7、f(,z通过初等行变换矩阵C化为,z);/*输出进行初等行变换的过程*/printf(〃C二〃);for(p二1;p<=m;p++){for(q=1;q〈二n;q++)printf(z,t%.31fz,,a[p][q]);printf(〃〃);}printf(〃〃);}ii++;}3.计算秩并输出。初始化一个临时变量temp,逐行判断是否有非0元素,有则temp口加并转下一行;若无,则下一行。代码:temp=0;for(i=l;i<=m;i++)for(j二1;j<=n;j++){if(a

8、[i][j]!=0){temp++;break;}}printf("矩阵秩为%lfz,,temp);五、实验过程原始记录(数据,图表,计算等):进入程序:DC:llsers75Documents§$jZC®WB^5r1•输入晅阵进行计算I2.出程序希入1或Z输入数字1后:C:Users75Documerns目走义C语言请输入矩阵的行数m(m<10):逐行输入矩阵:••12345行][

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。