- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用文案
标准文档
算法分析与设计课程论文
—通过C语言实现矩阵的相关操作
摘要
本文在Microsoft Visual Studio 2010的编译环境下,通过C语言进行一些矩阵的基本操作,包括矩阵的设置,加减乘除,数乘运算。求矩阵的逆等操作。
关键词
矩阵 C语言 逆矩阵
正文
引言
矩阵的相关知识只是是高等数学的基础,但是其庞大的运算量和纷繁的步骤让人却步。虽然有Matlab等软件可以实现矩阵的相关操作,但是我校一些专业并不学习数学实验,故通过C语言实现矩阵的操作也是一种可行的方法,本文列举的了一些矩阵的加减乘除等基本运算规则,还有对矩阵进行转置,也有矩阵求逆的相关操作。
同时,还介绍了行列式的计算,通过运行该程序,可以大大简化行列式的计算量。
算法分析
矩阵的初始化
相关概念
在数学中,矩阵(Matrix)是一个按照长方阵列排列的 HYPERLINK /subview/10078htm \t /_blank 复数或 HYPERLINK /view/14749.htm \t /_blank 实数集合,最早来自于 HYPERLINK /view/314172.htm \t /_blank 方程组的 HYPERLINK /view/960.htm \t /_blank 系数及 HYPERLINK /view/122755.htm \t /_blank 常数所构成的 HYPERLINK /view/404843.htm \t /_blank 方阵。这一概念由19世纪英国数学家 HYPERLINK /view/112560.htm \t /_blank 凯利首先提出。
矩阵是高等代 HYPERLINK /subview/1284htm \t /_blank 数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和 HYPERLINK /view/388084.htm \t /_blank 量子物理中都有应用; HYPERLINK /subview/92404/5815703.htm \t /_blank 计算机科学中, HYPERLINK /view/87262.htm \t /_blank 三维动画制作也需要用到矩阵。 矩阵的运算是 HYPERLINK /view/295760.htm \t /_blank 数值分析领域的重要问题。将 HYPERLINK /view/2362946.htm \t /_blank 矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵,例如 HYPERLINK /view/891721.htm \t /_blank 稀疏矩阵和准对角矩阵,有特定的快速运算 HYPERLINK /view/7420.htm \t /_blank 算法。
理论分析
在C语言中,可以使用二维数组来描绘一个矩阵。值得注意的是,在二维数组中,必须标明列数,否则编译器就会报错。故二维极其多维数组使用时要注意数组下标。
代码实现
#include stdio.h
int main()
{
int juzheng [100][100];
int i , j , a , b ;
printf(请输入矩阵的行数a 列数b \n) ;
scanf (%d %d,a,b);
for (i = 0;i a ;i++)
{
for (j = 0;j b ;j++)
{
scanf (%d,juzheng[i][j]);
}
}
printf (你所输入的矩阵是:\n);
for (i = 0;i a ;i++)
{
for (j = 0;j b ;j++)
{
printf(%d ,juzheng[i][j]);
}
printf (\n);
}
return 0;
}
矩阵的相加
相关概念
加法
矩阵的加法满足下列运算律(A,B,C都是同型矩阵):
A+B=B+A
A+B+C=A+(B+C)
应该注意的是只有同型矩阵之间才可以进行加法
理论分析:
矩阵相加就是将两个矩阵的相同位置的元素相加,相加的值输出,通过循环语句,可以很好的实现该过程,如果要改成减法的话,就可以改成printf(“%d”,juzhen1[i][j]-juzhen2[i][j])。
这样就可以实现矩阵的减法。
代码实现
#include stdio.h
int main()
{
int juzheng1 [100][100],juzheng2[100][100];
int i , j , a , b ;
printf(请输入矩阵的行数a和列数b\n) ;
scanf (%d %d
文档评论(0)