- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
n阶方阵求逆
《C语言程序设计》
题目 n阶方阵求逆
指导教师:
姓名:
学号:
班级:
专业: 计算机科学与技术
地点:
时间: 7月1日 至 7月5日
一、内容
主要实现:本程序主要实现了一个方阵的求逆与实现了逆矩阵和原矩阵的乘积为单位矩阵。
实现过程:输入一个矩阵采用高斯约旦法求出逆矩阵并且验证逆矩阵与原矩阵的乘积为单位矩阵。
功能:
1.输入一个n(n256)阶方阵A,方程系数矩阵与向量均从文本文件读入;
2.输入A的逆矩阵至文本文件;
3.将得到的逆矩阵与矩阵A相乘,验证其结果是否为单位矩阵。
二、上机环境
操作系统:Windows XP
开发工具:Visual C++6.0
函数调用关系图
四、各函数功能说明
1.Void main() 主函数
2.int inv(int n) 采用高斯约旦法求方阵的逆
4. Void chengji(); 矩阵的乘积
5. void swap(double a,double b) 交换两个元素
五、算法描述或流程图
1.算法描述:
a.高斯-约旦法求解逆矩阵的算法描述如下:
首先,对于 k 从 0 到 n - 1 作如下几步:
(1)从第 k 行、第 k 列开始的右下角子阵中选取绝对值最大的元素,并记住次元素所在的行号和列号,在通过行交换和列交换将它交换到主元素位置上。这一步称为全选主元。
(2)m(k, k) = 1 / m(k, k)
(3)m(k, j) = m(k, j) * m(k, k),j = 0, 1, ..., n-1;j != k
(4)m(i, j) = m(i, j) - m(i, k) * m(k, j),i, j = 0, 1, ..., n-1;i, j != k
(5)m(i, k) = -m(i, k) * m(k, k),i = 0, 1, ..., n-1;i != k
最后,根据在全选主元过程中所记录的行、列交换的信息进行恢复,恢复的原则如下:在全选主元过程中,先交换的行(列)后进行恢复;原来的行(列)交换用列(行)交换来恢复。
2.流程图:
程序运行效果图
求2阶方阵的逆矩阵和验证该逆矩阵与原矩阵的乘积是否为单位矩阵
求3阶方阵的逆矩阵和验证该逆矩阵与原矩阵的乘积是否为单位矩阵
求4阶方阵的逆矩阵和验证该逆矩阵与原矩阵的乘积是否为单位矩阵
4.方阵阵为奇异矩阵是没有逆矩阵的情况
总结
在学习过程中所遇到的困难、及原因分析.
(1)原因分析:
①上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不 知道如何下手。所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序 或软件是要根据要解决问题的实际需要控制程序的流程,如果没有深刻地理解语言的语句的执行过程(或流程),是不会编写程序解决这些实际问题的。 ②用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果 不知道长方形的面积公式,即使C语言学的来。 ③C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,我们从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路恐怕都不行。
(2)实践调试能力
原因分析:调试程序是一种实践性很强的事。即使再优秀的程序员编写程序时也会犯错误的,可能是最低级的语法错误,但他能快速发现错误并改正错误,而我们C语言初学者在面对错误提示时,是不知道发生了什么错误,如何改正,这就是差别。我个人认为可以试着按如下方法去做:
第一步、验证性练习 在这一步要求按照教材上的程序实例进行原样输入,运行不出错。
第二步、照葫芦画瓢
在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发了什么变化,分析结果变化的原因,加深所学知识点的理解。事实上这和第一步是同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相
原创力文档


文档评论(0)