矩阵的各种运算详解

矩阵的各种运算详解
矩阵的各种运算详解

一、矩阵的线性运算

定义1 设有两个矩阵和,矩阵与的和记作, 规定为

注:只有两个矩阵是同型矩阵时,才能进行矩阵的加法运算. 两个同型矩阵的和,即为两个矩阵对应位置元素相加得到的矩阵.

设矩阵记

,

称为矩阵的负矩阵, 显然有

.

由此规定矩阵的减法为

.

定义2 数与矩阵A的乘积记作或, 规定为

数与矩阵的乘积运算称为数乘运算.

矩阵的加法与矩阵的数乘两种运算统称为矩阵的线性运算. 它满足下列运算规律:设都是同型矩阵,是常数,则

(1)

(2) ;

(3)

(4)

(5)

(6)

(7)

(8)

注:在数学中,把满足上述八条规律的运算称为线性运算.

二、矩阵的相乘

定义3设

矩阵与矩阵的乘积记作, 规定为

其中,(

记号常读作左乘或右乘.

注: 只有当左边矩阵的列数等于右边矩阵的行数时, 两个矩阵才能进行乘法运算.

若,则矩阵的元素即为矩阵的第行元素与矩阵的第列对应元素乘积的和. 即

.

矩阵的乘法满足下列运算规律(假定运算都是可行的):

(1)

(2)

(3)

(4)

注: 矩阵的乘法一般不满足交换律, 即

例如, 设则

于是且

从上例还可看出: 两个非零矩阵相乘, 可能是零矩阵, 故不能从必然推出

此外, 矩阵乘法一般也不满足消去律,即不能从必然推出例如, 设

定义4如果两矩阵相乘, 有

则称矩阵A与矩阵B可交换.简称A与B可换.

注:对于单位矩阵, 容易证明

或简写成

可见单位矩阵在矩阵的乘法中的作用类似于数1.

更进一步我们有

命题1设是一个n阶矩阵,则是一个数量矩阵的充分必要条件是与任何n阶矩阵可换。

命题2设均为n阶矩阵,则下列命题等价:

(1)

(2)

(3)

(4)

三、线性方程组的矩阵表示

设有线性方程组

若记

则利用矩阵的乘法, 线性方程组(1)可表示为矩阵形式:

(2)

其中矩阵称为线性方程组(1)的系数矩阵. 方程(2)又称为矩阵方程.

如果是方程组(1)的解, 记列矩阵

这时也称是矩阵方程(2)的解; 反之, 如果列矩阵是矩阵方程(2)的解, 即有矩阵等式

成立, 则即也是线性方程组(1)的解. 这样, 对线性方程组(1)的讨论便等价于对矩阵方程(2)的讨论. 特别地, 齐次线性方程组可以表示为

将线性方程组写成矩阵方程的形式,不仅书写方便,而且可以把线性方程组的理论与矩阵理论联系起来,这给线性方程组的讨论带来很大的便利.

四、矩阵的转置

定义6把矩阵的行换成同序数的列得到的新矩阵, 称为的转置矩阵, 记作(或

). 即若

.

矩阵的转置满足以下运算规律(假设运算都是可行的):

(1)

(2)

(3)

(4)

五、方阵的幂

定义5设方阵, 规定

称为的次幂.

方阵的幂满足以下运算规律(假设运算都是可行的):

(1)

(2)

注: 一般地,为自然数

命题3 设均为n阶矩阵,则有为自然数,反之不成立。

六、方阵的行列式

定义7由阶方阵的元素所构成的行列式(各元素的位置不变),称为方阵的行列式,记作或

注: 方阵与行列式是两个不同的概念, 阶方阵是个数按一定方式排成的数表,而

阶行列式则是这些数按一定的运算法则所确定的一个数值(实数或复数).

方阵的行列式满足以下运算规律(设为阶方阵, 为常数):

(1)

(2)

(3) 进一步

七、对称矩阵

定义8设为阶方阵, 如果即

则称为对称矩阵.

显然,对称矩阵的元素关于主对角线对称. 例如

均为对称矩阵.

如果则称为反对称矩阵.

八、共轭矩阵

定义9 设为复(数)矩阵, 记

其中表示的共轭复数, 称为A的共轭矩阵.

共轭矩阵满足以下运算规律(设为复矩阵,为复数, 且运算都是可行的):

(1)

(2)

(3)

例题选讲:

矩阵的线性运算

例1 (讲义例1)已知, 求

例2(讲义例2) 已知且求

注:n阶数量矩阵=

例3(讲义例3)若求

例4设,。A是一个矩阵,B是矩阵,因此AB有意义,BA也有意义;但

例5设,B=。

(这种记法表示主对角线以外没有注明的元素均为零),则

(1);

(2);

(3)

例6(讲义例4) 某地区有四个工厂Ⅰ、Ⅱ、Ⅲ、Ⅳ,生产甲、乙、丙三种产品, 矩阵A 表示一年中各工厂生产各种产品的数量, 矩阵B表示各种产品的单位价格(元)及单位利润(元), 矩阵C表示各工厂的总收入及总利润.

其中, 是第个工厂生产第种产品的数量, 及分别

是第种产品的单位价格及单位利润, 及分别是第个工厂生产三种产品的

总收入及总利润. 则矩阵的元素之间有下列关系:

其中,即

例7(讲义例5) 求与矩阵可交换的一切矩阵.

例8(讲义例6)证明: 如果则有

例9(讲义例7)解矩阵方程为二阶矩阵

例10(1)设,则。

(2)设,则。

例11(讲义例8)已知求

例12(讲义例9)设求

例13设,,则

因此地

(完整版)第二章矩阵及其运算作业及答案

第二部分 矩阵及其运算作业 (一)选择题(15分) 1.设,均为n 阶矩阵,且,则必有( )A B 22 ()()A B A B A B +-=-(A) (B) (C) (D) A B =A E =AB BA =B E =2.设,均为n 阶矩阵,且,则和( ) A B AB O =A B (A)至多一个等于零 (B)都不等于零 (C) 只有一个等于零 (D) 都等于零 3.设,均为n 阶对称矩阵,仍为对称矩阵的充分必要条件是( ) A B AB (A) 可逆 (B)可逆 (C) (D) A B 0AB ≠AB BA =4.设为n 阶矩阵,是的伴随矩阵,则=( ) A A *A A *(A) (B) (C) (D) 1n A -2n A -n A A 5.设,均为n 阶可逆矩阵,则下列公式成立的是( ) A B (A) (B) ()T T T AB A B =()T T T A B A B +=+(C) (D) 111()AB A B ---=111 ()A B A B ---+=+(二)填空题(15分) 1.设,均为3阶矩阵,且,则= 。 A B 1 ,32A B ==2T B A 2.设矩阵,,则= 。 1123A -?? = ???232B A A E =-+1B -3.设为4阶矩阵,是的伴随矩阵,若,则= 。 A A *A 2A =-A *4.设,均为n 阶矩阵,,则= 。 A B 2,3A B ==-12A B *-5.设,为整数,则= 。 101020101A ? ? ?= ? ??? 2n ≥12n n A A --(三)计算题(50分) 1. 设,,且,求矩阵。 010111101A ?? ?=- ? ?--??112053B -? ? ? = ? ??? X AX B =+X

C语言程序设计报告 矩阵运算

C程序设计报告 矩 阵 运 算 学院:地质与环境学院 专业:资源勘查工程0901 姓名:王甲 学号:0909030119

目录1.设计任务书 1.1题目 1.2设计要求 1.3程序涉及的知识点 2.功能设计 2.1算法设计 2.2部分模块流程图 3.程序代码设计 3.1源代码 3.2运行结果 4.运行结果 5.程序设计总结 6.致谢 7.参考文献

1设计任务书 1.1 题目 矩阵运算 1.2 设计要求 此程序为矩阵运算的相关程序,用来计算包括两矩阵的加、减、乘运算,求矩阵的转置矩阵、最大值元素、最小值元素及对角线元素之和等运算。 1.2 本系统涉及的知识点 此程序涉及了老师讲授的多个知识点,包括:for、if、printf及scanf 等语句,顺序、选择、循环等结构。 2功能设计 2.1 算法设计 此程序需要实现的功能要求: 利用for、if、printf及scanf 等语句来实现所需功能。 输入矩阵a和b的元素之后,依次计算: 程序一:计算a+b矩阵; 程序二:计算a-b矩阵; 程序三:计算a*b矩阵; 程序四:计算a的转置矩阵; 程序五:计算a矩阵的最小值元素;

程序六:计算a 矩阵的最大值元素; 程序七:计算a 矩阵的主对角线元素之和; 程序八:计算a 矩阵的副对角线元素之和; 程序九:计算a 矩阵的上三角元素之和; 程序九:计算a 矩阵的下三角元素之和; 2.2 部分模块流程图 3 程序源代码 3.1源代码 #include"stdio.h" void main() { int a[3][3],b[3][3],c[3][3], int i,j,k,s,max,min,sum1=0,sum2=0,sum3=0,sum4=0; printf("计算a+b 矩阵:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) c[i][j]=a[i][j]+b[i][j]; printf("%6d"); printf("\n"); printf(" 请输入a 矩阵元素:\n"); for(i=0;i<3;i++); for(j=0;j<3;j++); scanf("%4d",&a[i][j]); printf("a 矩阵:\n");

矩阵及其运算测试题

第二章 矩阵及其运算测试题 一、选择题 1.下列关于矩阵乘法交换性的结论中错误的是( )。 (A)若A 是可逆阵,则1A -与1A -可交换; (B)可逆矩阵必与初等矩阵可交换; (C)任一n 阶矩阵与n cE 的乘法可交换,这里c 是常数; (D)初等矩阵与初等矩阵的乘法未必可交换。 2.设n (2n ≥)阶矩阵A 与B 等价,则必有( ) (A) 当A a =(0a ≠)时,B a =; (B)当A a =(0a ≠)时,B a =-; (C) 当0A ≠时,0B =; (D)当0A =时,0B =。 3.设A 、B 为方阵,分块对角阵00A C B ??= ??? ,则* C =( )。 (A) **00 A B ?? ??? (B) **||00 ||A A B B ?? ??? (C) **||00||B A A B ?? ??? (D) **||||0 0||||A B A A B B ?? ??? 4.设A 、B 是n (2n ≥)阶方阵,则必有( )。 (A)A B A B +=+ (B)kA k A = (C) A A B B =-g (D) AB A B = 5.设4阶方阵 44(),()||,ij A a f x xE A ?==-其中E 是4阶单位矩阵,则()f x 中3 x 的系数为( )。 (A)11223344()a a a a -+++ (B)112233112244223344113344a a a a a a a a a a a a +++ (C) 11223344a a a a (D)11223344a a a a +++ 6.设A 、B 、A B +、11A B --+均为n 阶可逆矩阵,则1()A B -+为( )。 (A) 11A B --+ (B) A B + (C) 111()A B ---+ (D)11111()B A B A -----+

课程设计矩阵运算系统

wen 滨江学院 windows 程序设计综合实验 课程设计 题目矩阵综合运算系统 学生姓名晏文涛 学号20102309060 院系电子工程系 专业信息工程 指导教师方忠进

二O一二年12 月16 日 摘要 设计了一个矩阵运算系统,该矩阵运算系统具有普通矩阵相加、相减、相乘及稀疏矩阵转置等功能。本运算系统以Microsoft Visual C++ 6.0 作为系统开发工具,采用算数表达式处理算法来实现了矩阵的加、减、乘等混合运算和稀疏矩阵的转置矩阵运算。系统操作简单,界面清晰,便于用户使用。 关键词:普通矩阵; 运算; VC6.0

目录 1 课题描述 (1) 2 设计过程 (1) 3 程序编码 (3) 4 测试 (10) 总结 (12) 参考文献 (13)

1 课题描述 矩阵运算系统是一个非常重要的运算,很多软件开发公司都开发了这个运算系统。现在我们用C 语言编出这个运算系统。它的原理是对于输入的矩阵,进行相加、相乘以及相减。另外一个是稀疏矩阵的转置运算系统,按提示输入数值即可得到所要求的稀疏矩阵的转置矩阵。 运行环境:Visual C++ 6.0 2 设计过程 经过对程序设计题目的分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一

个函数,他们的功能分别是:1)矩阵相加运算函数(ADD),主要实现将两矩阵相加的功能;2)矩阵相乘运算函数(MUL),主要实现将两矩阵相乘的功能;3)矩阵相减函数(SNB);实现的功能是矩阵之间的减法4)稀疏矩阵矩阵转置函数(TRANPOSE) 实现的功能是将稀疏矩阵进行转置。在这些函数当中,第1、2、4个函数的实现严格按照题目的要求,而第3个函数为自行设计的函数。程序的一次运行当中可以循环执行所有的功能,并根据需要终止程序的执行。在这个程序中,将各个功能以子程序模块的形式编写。这样使所编写的程序简单明了,逻辑性思维表达明确,具有很强的可读性。流程图如下: 1)矩阵相乘流程图如图2.1所示: 图2.1 2)矩阵相加流程图如图2.2所示 图2.2 3)矩阵相减流程图如图2.3所示

GE矩阵+计算方法+案例(一班三组)

GE矩阵法及其使用方法介绍 一、GE矩阵法概述 GE矩阵法又称通用电器公司法、麦肯锡矩阵、九盒矩阵法、行业吸引力矩阵是美国通用电气公司(GE)于70年代开发了新的投资组合分析方法。对企业进行业务选择和定位具有重要的价值和意义。GE矩阵可以用来根据事业单位在市场上的实力和所在市场的吸引力对这些事业单位进行评估,也可以表述一个公司的事业单位组合判断其强项和弱点。在需要对产业吸引力和业务实力作广义而灵活的定义时,可以以GE矩阵为基础进行战略规划。按市场吸引力和业务自身实力两个维度评估现有业务(或事业单位),每个维度分三级,分成九个格以表示两个维度上不同级别的组合。两个维度上可以根据不同情况确定评价指标。 二、方格分析计算方法介绍: GE矩阵可以用来根据事业单位在市场上的实力和所在市场的吸引力对这些事业 单位进行评估,也可以表述一个公司的事业单位组合判断其强项和弱点。在需要 对产业吸引力和业务实力作广义而灵活的定义时,可以以GE矩阵为基础进行战 略规划。按市场吸引力和业务自身实力两个维度评估现有业务(或事业单位),

每个维度分三级,分成九个格以表示两个维度上不同级别的组合。两个维度上可以根据不同情况确定评价指标。 绘制GE矩阵,需要找出外部(行业吸引力)和内部(企业竞争力)因素,然后对各因素加权,得出衡量内部因素和市场吸引力外部因素的标准。当然,在开始搜集资料前仔细选择哪些有意义的战略事业单位是十分重要的。 1. 定义各因素。选择要评估业务(或产品)的企业竞争实力和市场吸引力所需的重要 因素。在GE内部,分别称之为内部因素和外部因素。下面列出的是经常考虑的一些因素(可能需要根据各公司情况作出一些增减)。确定这些因素的方法可以采取头脑风暴法或名义群体法等,关键是不能遗漏重要因素,也不能将微不足道的因素纳人分析中。 2. 估测内部因素和外部因素的影响。从外部因素开始,纵览这张表(使用同一组经理), 并根据每一因素的吸引力大小对其评分。若一因素对所有竞争对手的影响相似,则对其影响做总体评估,若一因素对不同竞争者有不同影响,可比较它对自己业务的影响和重要竞争对手的影响。在这里可以采取五级评分标准(1=毫无吸引力,2=没有吸引力,3=中性影响,4=有吸引力,5=极有吸引力)。然后也使用5级标准对内部因素进行类似的评定(1=极度竞争劣势,2=竞争劣势,3=同竞争对手持平,4=竞争优势,5=极度竞争优势),在这一部分,应该选择一个总体上最强的竞争对手做对比的对象。 具体的方法是:- 确定内外部影响的因素,并确定其权重- 根据产业状况和企业状况定出产业吸引力因素和企业竞争力因素的级数(五级)- 最后,用权重乘以级数,得出每个因素的加权数,并汇总,得到整个产业吸引力的加权值 下面分别用折线图和表格两种形式来表示。

第二章矩阵及其运算作业及答案

第二部分 矩阵及其运算作业 (一)选择题(15分) 1.设A ,B 均为n 阶矩阵,且22()()A B A B A B +-=-,则必有( ) (A) A B = (B) A E = (C) AB BA = (D) B E = 2.设A ,B 均为n 阶矩阵,且AB O =,则A 和B ( ) (A)至多一个等于零 (B)都不等于零 (C) 只有一个等于零 (D) 都等于零 3.设A ,B 均为n 阶对称矩阵,AB 仍为对称矩阵的充分必要条件是( ) (A) A 可逆 (B)B 可逆 (C) 0AB ≠ (D) AB BA = 4.设A 为n 阶矩阵,A *是A 的伴随矩阵,则A *=( ) (A) 1n A - (B) 2n A - (C) n A (D) A 5.设A ,B 均为n 阶可逆矩阵,则下列公式成立的是( ) (A) ()T T T AB A B = (B) ()T T T A B A B +=+ (C) 111()AB A B ---= (D) 111()A B A B ---+=+ (二)填空题(15分) 1.设A ,B 均为3阶矩阵,且1 ,32A B ==,则2T B A = 。 2.设矩阵1123A -??= ??? , 232B A A E =-+,则1B -= 。 3.设A 为4阶矩阵,A *是A 的伴随矩阵,若2A =-,则A *= 。 4.设A ,B 均为n 阶矩阵,2,3A B ==-,则12A B *-= 。 5.设101020101A ? ? ?= ? ??? ,2n ≥为整数,则12n n A A --= 。 (三)计算题(50分) 1. 设010111101A ?? ?=- ? ?--??,112053B -?? ?= ? ??? ,且X AX B =+,求矩阵X 。

C语言矩阵的运算

C语言课程设计题目矩阵的运算 西安科技大学 二0 一一年十一月

一、设计目的 1. 综合C语言相关知识制作简单的应用程序 2. 灵活对程序代码进行利用,修改和编写; 3. 熟练将C语言所学知识和其它知识相结合 二、功能描述 编写一个矩阵运算程序,能够进行矩阵加、减、乘、转置,求矩阵的最大值,最小值,对角线元素的和等 三、流程图

定义及预处理m1=0,m2=0,m3=0,m4=0,l=0;i,j,k,d,max,min; a[M][N],b[M][N],c[N][P] 输出“输入a矩阵” j++,输入a矩阵元素 直到j>=N,i++ 直到i>=M 输出“a矩阵” j++,输出a矩阵 直到j>=N,i++,输出换行 直到i>=M 输出“输入b矩阵” j++,输入b矩阵元素 直到j>=N,i++ 直到i>=M 输出“b矩阵” j++,输出b矩阵 直到j>=N,i++,输出换行 直到i>=M 输出“输入c矩阵” j++,输入c矩阵元素 直到j>=P,i++ 直到i>=N

输出“c 矩阵” 直到i>=N 直到j>=P,i++,输出换行 j++,输出c 矩阵 输出“输入a,b 矩阵之和” 直到i>=M 直到j>=N,i++,输出换行 j++,输出a 矩阵与b 矩阵对应元素 输出“输入a,b 矩阵之差” 直到i>=M 直到j>=N,i++,输出换行 j++,输出a 矩阵与b 矩阵对应元素 输出“输入a,c 矩阵之积” 直到i>=N 直到j>=P,i++ j++,输出换行,直到k 〉=M k++,输出 a[i][k]*c[k][j]; 输出“a 矩阵的转置” 直到j>=N 直到i>=M,j++,输出换行 i++,输出a[i][j] 输出“a 矩阵的最大值” max=a[0][0] 直到i>=M 直到i>=M 直到j>=N,i++ max

数学实验矩阵的运算doc资料

数学实验矩阵的运算

数学实验报告 学院: 班级: 学号: 姓名: 完成日期:

实验四矩阵的运算 (一)投入产出分析 一.实验目的 1.理解投入产出分析中的基本概念和模型; 2.从数学和投入产出理论的角度,理解矩阵乘法、逆 矩阵等的含义。 二.问题描述 设国民经济由农业、制造业和服务业三个部门构成,已知某年它们之间的投入产出关系、部需求、初始投入等如表1-1所示 表1-1国民经济三产部门之间的投入产出表 根据表回答下列问题: (1)如果农业、制造业、服务业外部需求为 50,150,100,问三个部门总产出分别为多少? (2)如果三个部门的外部需求分别增加一个单位,问他们的总产出分别为多少? 三.实验过程

1.问题(1)的求解 (1)求直接消耗矩阵A 根据直接消耗的计算公式 a ij=x ij/x j 和各部门中间需求; x n a n 运行如下代码可得直接消耗系数表。 X=[15 20 30;30 10 45;20 60 0]; X_colsum=[100 200 150]; X_rep=repmat(X_colsum,3,1) A=X./ X_rep 运行结果为: A = 0.1500 0.1000 0.2000 0.3000 0.0500 0.3000 0.2000 0.3000 0 (2)求解 根据公式 X=(I-A)-1y 在运行如下代码 y=[50;150;100]; n=size(y,1);

W=eye(n)-A; X=W\y 运行结果为 X = 139.2801 267.6056 208.1377 即三个部门的总产出分别为139.2801,267.6056, 208.1377亿元。 2.问题2求解 设外部需求由y增加至y+Δy,则产出x的增量为Δx=(I-A)-1(y+Δy)- (I-A)-1y=(I-A)-1Δy 利用问题(1)求得的I-A矩阵,再运行如下的MATLAB代码可得问题的结果: dx=inv(W) 运行结果: dx = 1.3459 0.2504 0.3443 0.5634 1.2676 0.4930 0.4382 0.4304 1.2167 根据上述结果可知,当农业的外部需求增加1个单位时,农业、制造业、服务业的总产出分别增加

线性代数论文设计(矩阵在自己专业中地应用及举例)

矩阵在自己专业中的应用及举例

摘要: I、矩阵是线性代数的基本概念,它在线性代数与数学的许多分支中都有重要的应用,许多实际问题可以用矩阵表达并用相关的理论得到解决。 II、文中介绍了矩阵的概念、基本运算、可逆矩阵、矩阵的秩等容。 III、矩阵在地理信息系统中也有许多的应用,比如文中重点体现的在计算机图形学中应用。 关键词: 矩阵可逆矩阵图形学图形变换 正文: 第一部分引言 在线性代数中,我们主要学习了关于行列式、矩阵、方程、向量等相关性比较强的容,而这些容在我们专业的其他一些学科中应用也是比较广泛的,是其它一些学科的很好的辅助学科之一。因此,能够将我们所学的东西融会贯通是一件非常有意义的事,而且对我们的学习只会有更好的促进作用。在计算机图形学中矩阵有一些最基本的应有,但是概念已经与线性代数中的有一些不同的意义。在计算机图形学中,矩阵可以是一个新的额坐标系,也可以是对一些测量点的坐标变换,例如:平移、错切等等。在后面的文章中,我通过查询一些相关的资料,对其中一些容作了比较详细的介绍,希望对以后的学习能够有一定的指导作用。在线性代数中,矩阵也占据着一定的重要地位,

与行列式、方程、向量、二次型等容有着密切的联系,在解决一些问题的思想上是相同的。尤其他们在作为处理一些实际问题的工具上的时候。 图形变换是计算机图形学领域的主要容之一,为方便用户在图形交互式处理过程中度图形进行各种观察,需要对图形实施一系列的变换,计算机图形学主要有以下几种变换:几何变换、坐标变换和观察变换等。这些变换有着不同的作用,却又紧密联系在一起。 第二部分 研究问题及成果 1. 矩阵的概念 定义:由n m ?个数排列成的m 行n 列的矩阵数表 ????? ???????ann an an n a a a n a a a ΛM ΛM M K Λ212222111211 称为一个n m ?矩阵,其中an 表示位于数表中第i 行第j 列的数,i=1,2,3,…n ,又称为矩阵的元素。A,B 元素都是实数的矩阵称为实矩阵。元素属于复数的矩阵称为复矩阵。 下面介绍几种常用的特殊矩阵。 (1)行距阵和列矩阵 仅有一行的矩阵称为行距阵(也称为行向量),如 A=(a11 a12 .... a1n), 也记为 a=(a11,a12,.....a1n). 仅有一列的矩阵称为列矩阵(也称为列向量),如

矩阵运算程序设计

目录 1 课题分析 (1) 2 模块化分析 (1) 2.1 输入模块 (1) 2.1.1 输入模块要求 (1) 2.1.2 输入模块程序说明 (1) 2.2 判断模块 (3) 2.3 求和求差模块 (3) 2.4 乘法模块 (5) 2.4.1 求乘积模块概要 (5) 2.4.2 子程序段说明 (5) 2.4.3 乘法模块流程图 (8) 3 运行分析 (9) 4 心得体会 (11) 参考文献 (13)

矩阵运算程序设计 1 课题分析 根据给定的任务:能用键盘输入矩阵的参数(行、列及元素值),在进行运算前,先判断两个矩阵是否符合运算规则实现这两个矩阵的加,实现这两个矩阵的减,实现这两个矩阵的乘。进行模块化分析,所以程序中应该包括输入模块,保存需要处理的数据。判断模块,根据矩阵运算规则判断输入的数据能否进行矩阵加法,减法或者乘法运算,并调用相应的计算程序。计算模块,包括矩阵的加法,矩阵的减法和矩阵的乘法运算。输出模块,显示运算的结果。 2 模块化分析 2.1 输入模块 2.1.1 输入模块要求 先能用键盘输入矩阵的参数,行数和列数,然后根据输入各元素值,在输入数据之前有明显的提示信息,输入完后要保持各数据。运算完后要将各类计算的结果显示在屏幕上,并且要有明显的提示信息。 2.1.2 输入模块程序说明 输入的行列数保存到N和M中,为后来的比较和输入做准备,本程序段只是针对矩阵1的行和列,矩阵2则在此基础上经行替换即可以得到。 LEA DX,INFORMATION1 ;取信息提示地址偏移量 MOV AH,09h ;9号功能调用显示提示信息 INT 21H LEA DX,input1 ;提示输入矩阵1 的行数 MOV AH,09h ;9号功能调用显示提示信息 INT 21H

c语言 矩阵计算器

#include #define M 20 #define N 20 float A[M][N]; //定义了含有400个浮点型数组元素的二维数组 float B[M][N]; float C[M][N]; int i,j,m,n,p,q,k; int main() { printf(" ###########################################\n"); printf(" ### 欢迎您使用矩阵计算器系统。###\n"); printf(" ### 系统功能:###\n"); printf(" ### 计算两个矩阵相加,相减; ###\n"); printf(" ### 矩阵相乘;矩阵转置; ###\n"); printf(" ### ###\n"); printf(" #########################################\n\n"); int x; do{ printf("请选择您需要的运算,若退出则选择0后按回车键结束\n"); printf("******************************************************************\n") ; printf("0,退出\n"); printf("1,矩阵相加\n"); printf("2,矩阵相减\n"); printf("3,矩阵相乘\n"); printf("4,矩阵转置\n"); printf("******************************************************************\n") ; scanf("%d",&x); switch (x) {

矩阵的运算及其运算规则

矩阵基本运算及应用 201700060牛晨晖 在数学中,矩阵是一个按照长方阵列排列的复数或实数集合。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。在电力系统方面,矩阵知识已有广泛深入的应用,本文将在介绍矩阵基本运算和运算规则的基础上,简要介绍其在电力系统新能源领域建模方面的应用情况,并展望随机矩阵理论等相关知识与人工智能电力系统的紧密结合。 1矩阵的运算及其运算规则 1.1矩阵的加法与减法 1.1.1运算规则 设矩阵,, 则

简言之,两个矩阵相加减,即它们相同位置的元素相加减! 注意:只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的. 1.1.2运算性质 满足交换律和结合律 交换律; 结合律. 1.2矩阵与数的乘法 1.2.1运算规则 数乘矩阵A,就是将数乘矩阵A中的每一个元素,记为或. 特别地,称称为的负矩阵. 1.2.2运算性质 满足结合律和分配律 结合律:(λμ)A=λ(μA);(λ+μ)A =λA+μA. 分配律:λ(A+B)=λA+λB.

已知两个矩阵 满足矩阵方程,求未知矩阵. 解由已知条件知 1.3矩阵与矩阵的乘法 1.3.1运算规则 设,,则A与B的乘积是这样一个矩阵: (1) 行数与(左矩阵)A相同,列数与(右矩阵)B相同,即 . (2) C的第行第列的元素由A的第行元素与B的第列元素对应相乘,再取乘积之和.

矩阵的运算实例程序

设计一个矩阵相乘的程序 假设有 1 5 7 3 3 9 1 4 1 4 A= 3 6 3 9 B= 5 6 7 9 0 3 1 2 8 7 3 2 7 2 5 6 0 3 1 9 9 7 4 7 8 0 3 2 5 4 求出A*B的矩阵 程序构思: 我们所知的矩阵乘法运算的算式如下: C ij = A ik X B kj的k从1到n 的和,那么可以用一个3层循环来运算此算式: C(1,1)=A(1,1)*B(1,1)+A(1,2)*B(2,1)+A(1,3)*B(3,1)+A(1,4)*B(4,1) =(1*3)+(5*5)+(7*3)+(3*9) =3+25+21+27 =76 同理 C(1,2)=A(1,1)*B(1,2)+A(1,2)*B(2,2)+A(1,3)*B(3,2)+A(1,4)*B(2,2) =(1*9)+(5*6)+(7*2)+(3*7) =9+30+14+21 =74 依此类推,我们可以求得矩阵A与矩阵B的矩阵乘积。 void main(void) { int matrixa[5][4]={1,5,7,3, 3,6,3,9, 1,2,8,7, 0,3,1,9, 3,2,5,4}; int matrixb[4][6]={3,9,1,4,1,4, 5,6,7,9,0,3, 3,2,7,2,5,6, 9,7,4,7,8,0}; int matrixc[5][6]; int i,j,k; for(i=0;i<5;i++) for(j=0;j<6;j++) { matrixc[i][j]=0; for(k=0;k<4;k++) matrixc[i][j]+=matrixa[i][k]*matrixb[k][j];

矩阵运算实验报告

实验报告 --矩阵运算 一.实验目的。 1.通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的编程习惯。 2.通过实践进一步领会程序设计的特点和应用,提高运用C++ 语言以及面向对象知识解决实际问题的能力。 3.通过实践掌握用C++ 语言编写面向对象的实用程序的设计方法,对面向对象方法和思想增加感性的认识; 4.学会利用C++程序设计语言编写出一些短小、可靠的Windows实用程序,切实提高面向对象的程序设计能力。为后续的相关课程的学习打下基础。 二.实验要求。 1.学会建立模板类; 2.实现矩阵的“加”、“减”、“乘”、“数乘”、“转置”; 3.动态存分配并用随机数填充; 4.注意“加”、“减”、“乘”要进行条件的判断; 三.设计思路。

3.1算法基本流程 1)获取用户输入的矩阵1的行数和列数,动态生成一个一维数组 2)利用随机数生成数组成员,并利用两个循环输出数组,使其符合矩阵的格式 3)矩阵2同矩阵1的处理方法 4)通过两个矩阵的行数和列数比较来判断能否进行加减乘等运算,如不能,输出相关信息 5)如能够进行计算,则利用数组进行相应运算,并按照正确格式输出 6)通过改变一维数组中元素的顺序来实现转置并输出 3.2算法流程图

四.基本界面。

五.关键代码。 5.1关键类的声明 class CMatrixclass { public: CMatrixclass() { int m_Row = 0; //行 int m_Col = 0; //列 m_pElements = NULL; //一维数组

c课程设计矩阵的转置与乘法计算

c课程设计矩阵的转置与乘法计算

C++课程设计实验报告 姓名学号班级 任课教师时间 9月 教师指定题目4-4 矩阵的转置与乘法计算评定难易级别 A 实验报告成绩 1.实验内容: 1.1 程序功能介绍 该程序定义了一个向量类,里面的元素是模板形式,定义了有关向量了类的各种属性、方法及运算符重载函数。 1.2 程序设计要求 (1)利用已知的向量类对象定义一个矩阵类,矩阵类的数据是向量子对象,同样定义矩阵类的各种属性、方法及运算符重载函数。 (2)完善成员函数,使矩阵能够由文件输入,具体的输入格式自己规定。(3)完成矩阵的赋值、转置、乘法等运算,要求用整形矩阵和浮点型矩阵分别演算。 (4)更改main函数结构,可由用户选择输入矩阵数据的方法,程序能够连续运行,直到选择退出为止。 2. 源程序结构流程框图与说明(含新增子函数的结构框图)

作者:喻皓学号:

3. 基本数据结构 定义的类模板,将函数用链表将一些功能函数连接起来。其中定义了构造函数,析构函数,重载赋值、乘法、数乘、输入、输出,矩阵转置等函数,实现矩阵的矩阵的赋值、转置、乘法等运算。 template class CMatrix { struct node { Vector **f;//**************************************组成矩阵的向量指针 int refcnt;//*************************************************被引用次数 int length;//*************************************************矩阵的行数T **tmppointer;//*******************************************头指针类型} *p;

矩阵操作C语言编程源程序

矩阵操作C/C++语言:#include "iostream.h" #include "stdlib.h" void main() { int i,j,imax,jmax,max,t,k=0; int a[4][4],b[4][4],c[4][4],d[4][4]; for(i=0;i<4;i++) for(j=0;j<4;j++) { a[i][j]=rand()%41+30; b[i][j]=rand()%36+100; } cout<<"矩阵A为:\n"; for(i=0;i<4;i++) { for(j=0;j<4;j++) cout<

{ for(j=0;j<4;j++) cout<max)

{ max=c[i][j]; imax=i; jmax=j;} } cout<<"max="<

稀疏矩阵的运算(完美版)

专业课程设计I报告(2011 / 2012 学年第二学期) 题目稀疏矩阵的转换 专业软件工程 学生姓名张鹏宇 班级学号 09003018 指导教师张卫丰 指导单位计算机学院软件工程系 日期 2012年6月18号

指导教师成绩评定表

附件: 稀疏矩阵的转换 一、课题内容和要求 1.问题描述 设计程序用十字链表实现稀疏矩阵的加、减、乘、转置。 2.需求分析 (1)设计函数建立稀疏矩阵,初始化值。 (2)设计函数输出稀疏矩阵的值。 (3)构造函数进行两个稀疏矩阵相加,输出最终的稀疏矩阵。 (4)构造函数进行两个稀疏矩阵相减,输出最终的稀疏矩阵。 (5)构造函数进行两个稀疏矩阵的相乘,输出最终的稀疏矩阵。 (6)构造函数进行稀疏矩阵的转置,并输出结果。 (7)退出系统。 二、设计思路分析 (1)设计函数建立稀疏矩阵,初始化值。 (2)设计函数输出稀疏矩阵的值。 (3)构造函数进行两个稀疏矩阵相加,输出最终的稀疏矩阵。 (4)构造函数进行两个稀疏矩阵相减,输出最终的稀疏矩阵。 (5)构造函数进行两个稀疏矩阵的相乘,输出最终的稀疏矩阵。 (6)构造函数进行稀疏矩阵的转置,并输出结果。 (7)退出系统。 三、概要设计 为了实现以上功能,可以从3个方面着手设计。 1.主界面设计 为了实现对稀疏矩阵的多种算法功能的管理,首先设计一个含有多个菜单项的主

控菜单子程序以链接系统的各项子功能,方便用户交互式使用本系统。本系统主控菜单运行界面如图所示。 2.存储结构设计 本系统采用单链表结构存储稀疏矩阵的具体信息。其中:全部结点的信息用头结点为指针数组的单链表存储。 3.系统功能设计 本系统除了要完成稀疏矩阵的初始化功能外还设置了4个子功能菜单。稀疏矩阵的初始化由函数i typedef int ElemType 实现。建立稀疏矩阵用void Creat()实现,依据读入的行数和列数以及非零元素的个数,分别设定每个非零元素的信息。4个子功能的设计描述如下。 (1)稀疏矩阵的加法: 此功能由函数void Xiangjia( )实现,当用户选择该功能,系统即提示用户初始化要进行加法的两个矩阵的信息。然后进行加法,最后输出结果。 (2)稀疏矩阵的乘法: 此功能由函数void Xiangcheng( )实现。当用户选择该功能,系统提示输

浅谈矩阵在实际生活中的应用

浅谈矩阵在实际生活中的应用 摘要:从数学的发展来看,它来源于生活实际,在科技日新月异的今天, 数学越来越多地被应用于我们的生活,可以说数学与生活实际息息相关。我们在学习数学知识的同时,不能忘记把数学知识应用于生活。在学习线性代数的过程中,我们发现代数在生活实践中有着不可或缺的位置。在本文中,我们对代数中的矩阵在成本计算、人口流动、加密解密、计算机图形变换等方面的应用进行了探究。 关键词:线性代数矩阵实际应用 Abstract:From the development of mathematics, we can see that it comes from our life. With the development of science and technology, the math is more and more being used in our lives, it can be said that mathematics and real life are closely related. While learning math knowledge we can not forget to apply mathematical knowledge to our life. In the process of learning linear algebra, we found that algebra has an indispensable position in life practice. In this article, we explore the application of the matrix in the costing, population mobility, encryption and decryption, computer graphics transform. Keywords: linear algebra matrix practical application

矩阵乘法运算的C语言程序

#include #define N 30 #define M 30 void juzhen_mul(int m,int n,int *p1[M],int m1,int n1,int *p2[M]) { int i,j,x=0; int c[N][M]={0}; for(i=0;i

} } void main() { int a[N][M],b[N][M]; int n,m,n1,m1,i,j; int *pa[M],*pb[M]; printf("请选择A矩阵的行数和列数:\n"); scanf("%d %d",&m,&n); for(i=0;i

} printf("请选择B矩阵的行数和列数:\n"); scanf("%d %d",&m1,&n1); for(i=0;i

C++矩阵相关运算

一、 实验目的: 1. 学会编写C++基本程序; 2. 学会在C++中编写求矩阵转置、列均值与列方差的函数; 二、 实验内容: 问题一:编写程序求矩阵m n A ?转置的函数程序并应用(应用中,n,m 自己设定)。 问题二:2. 编写程序按列求矩阵m n A ?的均值和方差函数并应用(应用中,n,m 自己设定)。 三、使用环境: Windows 操作系统 Microsoft Visual C++ 6.0 四、实验步骤: 1、数据准备: 2、程序实验: 根据流程图写出代码: 问题一: 问题二:

# include const int N=3; const int M=3; void fun_1(double A[N][M]) //定义函数fun_1求矩阵列 均值、列方差 { int i,j; double aver,var,sum1,sum2; //定义双精度变量 aver,var,sum1,sum2 cout<<"矩阵A按列求均值与方差的结果为:"<

矩阵及矩阵运算的应用

矩阵及矩阵运算的应用 例1 在讨论国民经济的数学问题中也常用到矩阵.例如,假设在某一地区,某一种物资,比如说媒, 有s 个产地A 1,A 2,…,A S 和n 个销地B 1,B 2,…,B n .那么一个调运方案就可以用一个矩阵 ???? ?? ? ? ? sn s s n n a a a a a a a a a 212222111211 来表示.其中a ij 表示由产地A i 运到销地B j 的数量. 则某一种物资若有s 个产地,n 个销地.那么一个调运方案就可表示为一个s ?n 矩阵,矩阵中的元素表示由产地A i 要运到销地B j 的这种物资的数量,比如说吨数.如果从这些产地还有另一种物资要用到这些销地,那么这种物资的调运方案也可表示为s ?n 矩阵,于是从产地到销地的总的运输 量也表示为一个矩阵.显然,这个矩阵就等于上面俩个矩阵的和. 例2 在ABO 血型的人们中,对各种群体的基因的频率进行了研究.如果我们把四种等位基因1A 、2A 、B 、O 区别开,有人报告了如下的相对频率,见下表 现在的问题是:一个群体与另外一个群体的接近程度如何?换句话说,就是要找到一个表示基因的“距离”合宜的度量. 解:有人提出一种利用矢量代数的方法.首先,我们用单位矢量,即绝对值为1的矢量,来表示每一个群体.为此目的,我们取每一种频率的平方根,记ki x =.由于对这四种群体 的每一种有 4 1 1,ki i f ==∑所以我们得到4 2 1 1.ki i x ==∑.这意味着下列四个矢量 (爱斯基摩人)(班图人)(英国人)(朝鲜人)

311121413212224212341323433314244434,,,x x x x x x x x x x x x x x x x αααα???????? ? ? ? ? ? ? ? ?==== ? ? ? ? ? ? ? ? ? ? ? ? ???????? 的每一个都是单位矢量,即在四维空间中,这些矢量的顶端都位于一个半径为1的球面上. 现在用两个矢量间的夹角来表示两个对应的群体间的“距离”似乎是合理的.如果我们把1α和2α之间的夹角记为θ,那么由于121αα==,再由内积公式,得:cos θ=12.αα 有详细的数值是 120.53980.32160.00000.2943,0.17780.34640.82280.8307αα???? ? ? ? ?== ? ? ? ????? cos θ=12.αα=(0.5398)(0.3216)+…….=0.9187 θ= 23.2。 按同样的方式,我们可得到下表:(单位为度) 最小的“距离”是班图人和英国人之间的“距离”,而爱斯基摩人和班图人之间的“距离”最大. 例3 人口迁移的动态分析问题 对城乡人口流动做年度调查,发现有一个稳定的朝向城镇流动的趋势:每年农村居民的2.5%移居城镇,而城镇居民的1%迁出.现在总人口的60%位于城镇.假如城乡总人口保持不变,并且认可流动的这种趋势继续下去,那么一年以后住在城镇人口所占比例是多少?两年以后呢?十年以后呢?最终呢? 解 设开始时,令乡村人口为0y ,城镇人口为0z ,一年以后有 乡村人口: .1001 1000975100y z y =+ 城镇人口: .100 99 100025100z z y =+ 或写成矩阵形式 .1009910002510011000975 0011??? ? ?????? ??????=???? ??z y z y

相关文档
最新文档