当前位置:文档之家› 第01讲_矩阵基本运算

第01讲_矩阵基本运算

第01讲_矩阵基本运算
第01讲_矩阵基本运算

矩阵的运算及其运算规则

矩阵基本运算及应用 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的第列元素对应相乘,再取乘积之和.

求矩阵的基本运算

求矩阵的基本运算 #include #include void jiafa() { int m,n; float a[20][20],b[20][20],c[20][20]; int i,j; printf("请输入矩阵行数:"); scanf("%d",&m); printf("请输入矩阵列数:"); scanf("%d",&n); printf("请输入第一个矩阵:"); for(i=0; i

MATLAB实验二 矩阵基本运算(一)答案

实验一 矩阵基本运算(一) (1)设A 和B 是两个同维同大小的矩阵,问: 1)A*B 和A.*B 的值是否相等? ????? ?? =763514432A ???? ? ??=94 525 313 4B A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A*B, A.*B ans = 37 37 44 44 37 51 65 67 78 ans = 8 9 4 12 5 10 15 24 63 2)A./B 和B.\A 的值是否相等? A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A./B, B./A

ans = 0.5000 1.0000 4.0000 1.3333 0.2000 2.5000 0.6000 1.5000 0.7778 ans = 2.0000 1.0000 0.2500 0.7500 5.0000 0.4000 1.6667 0.6667 1.2857 3)A/B和B\A的值是否相等? A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A/B, B/A ans = -0.3452 0.5119 0.3690 0.7857 -0.7857 0.6429 -0.9762 1.3095 0.5952 ans = 110.0000 -15.0000 -52.0000

92.0000 -13.0000 -43.0000 -22.0000 4.0000 11.0000 4)A/B和B\A所代表的数学含义是什么? 解: A/B是B*A的逆矩阵 B\A是B*A的逆矩阵 (2)写出完成下列操作的命令。 1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。 A=[0.9501 0.4565 0.9218 0.4103 0.1389 0.0153 0.2311 0.0185 0.7382 0.8936 0.2028 0.7468 0.6068 0.8214 0.1763 0.0579 0.1987 0.4451 0.4860 0.4447 0.4057 0.3529 0.6038 0.9318 0.8913 0.6154 0.9355 0.8132 0.2722 0.4660 0.7621 0.7919 0.9169 0.0099 0.1988 0.4186] B=A(2:5,[1,3,5]) A = 0.9501 0.4565 0.9218 0.4103 0.1389 0.0153 0.2311 0.0185 0.7382 0.8936 0.2028 0.7468 0.6068 0.8214 0.1763 0.0579 0.1987 0.4451 0.4860 0.4447 0.4057 0.3529 0.6038 0.9318 0.8913 0.6154 0.9355 0.8132 0.2722 0.4660 0.7621 0.7919 0.9169 0.0099 0.1988 0.4186 B = 0.2311 0.7382 0.2028 0.6068 0.1763 0.1987 0.4860 0.4057 0.6038 0.8913 0.9355 0.2722 2)删除矩阵A的第7号元素。 A=rand(6,6); >> A(7)=[inf] A = 0.8385 Inf 0.1730 0.1365 0.2844 0.5155

MATLAB矩阵运算基础练习题

第2章 MATLAB 矩阵运算基础 2.1 在MA TLAB 中如何建立矩阵?? ?? ??194375,并将其赋予变量a ? 2.2 请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2.3产生一个1x10的随机矩阵,大小位于(-5 5) 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 2.4 数组运算和矩阵运算的运算符有什么区别? 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 2.5 计算矩阵??????????897473535与???? ??????638976242之和,差,积,左除和右除。 2.6 求?? ?? ??+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 2.7 计算???? ??=572396a 与??????=864142b 的数组乘积。 2.8 “左除”与“右除”有什么区别? 在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\b ≠b/a 。 2.9 对于B AX =,如果??????????=753467294A ,???? ??????=282637B ,求解X 。 2.10 已知:???? ??????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 2.11 ??????-=463521a ,?? ????-=263478b ,观察a 与b 之间的六种关系运算的结果。

第一讲 矩阵的概念、运算

第一讲 Ⅰ 授课题目(章节): §2.1 矩阵的概念; §2.2 矩阵的计算 Ⅱ 教学目的与要求: 理解矩阵概念; 掌握矩阵的线性运算、乘法、转置及其运算规律。 Ⅲ 教学重点与难点: 矩阵的乘法 Ⅳ 讲授内容: §2.1 矩阵 定义2.1 由n m ?个数),,2,,1;,,2,1(n j m a ij =排成的m 行n 列的数表 mn m m n n a a a a a a a a a 21222 21112 11 称为m 行n 列矩阵,简称n m ?矩阵.为表示它是一个整体,总是加一个括弧,并用大写黑体字母表示它,记作 ??????? ??=?mn m m n n n m a a a a a a a a a A 212222111211 两个矩阵B A ,,如果都是m 行n 列的,称它们是同型矩阵。否则,称它们是不同型的。 n 行n 列的矩阵n n A ?称为n 阶矩阵(或n 阶方阵) ,简记为n A 。 只有一行的矩阵)(21n a a a A =称为行矩阵,又称行向量.只有一列的矩阵 ?????? ? ??=n b b b B 21 称为列矩阵,又称列向量. 定义2.2 如果)()(ij ij b B a A ==与是同型矩阵,并且它的对应元素相等 ,即

),,2,1;,,2,1(,n j m i b a ij ij === 那么就称矩阵A 与B 相等,记作B A =. 元素都是零的m 行n 列矩阵称为零矩阵,记作n m O ?,简记为O .不同型的零矩阵是 不同的. ??????? ??=100010001 n I 称为n 阶单位矩阵,简记作I .这个矩阵的特点是:从左上角到右下角的直线(叫做主对角线)上的元素都是1,其它元素都是0. §2.2 矩阵的运算 1. 矩阵的加法 定义2.3 设有两个n m ?矩阵)(),(ij ij b B a A ==,那么矩阵A 与B 的和记作A +B , 规定为 n m ij ij b a B A ?+=+)( 设矩阵)(),(ij ij a A a A -=-=记,A -称为矩阵A 的负矩阵.显然有 0)(=-+A A . 规定矩阵的减法为)(B A B A -+=-. 2. 数与矩阵相乘: 定义2.4 数λ与矩阵)(ij a A =的乘积记作A λ,规定为n m ij a A ?=)(λλ 数乘矩阵满足下列运算规律(设B A ,为同型矩阵,μλ,为数): )(i )()(A A μλλμ= )(ii A A A μλμλ+=+)( )(iii B A B A λλλ+=+)( 3. 矩阵与矩阵相乘: 定义 2.5 设)(ij a A =是一个s m ?矩阵,)(ij b B =是一个n s ?矩阵,那么规定矩阵

Matlab常用函数数组及矩阵的基本运算

实验一 Matlab 常用函数、数组及矩阵的基本运算 一、 实验目的 1. 了解Matlab7.0软件工作界面结构和基本操作; 2. 掌握矩阵的表示方法及Matlab 常用函数; 3. 掌握数组及矩阵的基本运算. 二、 实验内容 1. 了解命令窗口(command widow)和变量空间(workspace)的作用,掌握清 除命令窗口(clc )和变量空间(clear)的方法.掌握查询函数(help)的方法. 2. 掌握保存和加载变量的方法. 加载变量:load 变量名. 3. 掌握掌握矩阵的表示方法: 给a,b,c 赋如下数据: ]6,46,23,4,2,6,3,8,0,1[,356838241248 7,278744125431-=??????????--=??????????=c b a 4. 求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2的结果. 5. 将str1=electronic; str2 = information; str3 = engineering; 三个字符串连接 在一起成str = electronic information engineering. 6. 求矩阵a 的逆矩阵a -1,行列式计算。 (inv(a),det(a)) 三、 实验要求 1.上机操作,熟练掌握清除命令窗口和变量空间的方法、查询变量的方法、加载变量的方法。 2.第2道题请写出步骤。 3.对实验内容中第3-6项,写出指令,上机运行. 记录运行结果(数据)。 4.写出实验报告。 四、 实验结果 2. 用save 函数,可以将工作空间的变量保存成txt 文件或mat 文件等. 比如: save peng.mat p j 就是将工作空间中的p 和j 变量保存在peng.mat 中. 用load 函数,可以将数据读入到matlab 的工作空间中. 比如:load peng.mat 就是将peng.mat 中的所有变量读入matlab 工作空间中。

matlab中的矩阵的基本运算命令

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

矩阵基本性质

矩阵的基本性质 矩阵的第?第列的元素为。我们?或()表?的单位矩阵。 1.矩阵的加减法 (1),对应元素相加减 (2)矩阵加减法满足的运算法则 a.交换律: b.结合律: c. d. 2.矩阵的数乘 (1),各元素均乘以常数 (2)矩阵数乘满足的运算法则 a.数对矩阵的分配律: b.矩阵对数的分配律: c.结合律: d. 3.矩阵的乘法 (1),左行右列对应元素相乘后求和为C的第行第列的元素(2)矩阵乘法满足的运算法则 a.对于一般矩阵不满足交换律,只有两个方正满足且有 b.分配律: c.结合律: d.数乘结合律: 4.矩阵的转置, (1)矩阵的幂:,,…,

(2)矩阵乘法满足的运算法则 a. b. c. d. 5.对称矩阵:即;反对称矩阵:即 (1)设为(反)对称矩阵,则仍是(反)对称矩阵。 (2)设为对称矩阵,则或仍是对称矩阵的充要条件=。 (3)设为(反)对称矩阵,则,也是(反)对称矩阵。 (4)对任意矩阵,则分别是对称矩阵和反对称矩阵且. (5) 6. Hermite矩阵:即;反Hermite矩阵,即 a. b. c. d. e. f.(当矩阵可逆时) 7.正交矩阵:若,则是正交矩阵 (1) (2)

8.酉矩阵:若,则是酉矩阵 (1) (2) (3), (4) 9.正规矩阵:若,则是正规矩阵;若,则是实正规矩阵 10.矩阵的迹和行列式 (1)为矩阵的迹;或为行列式 (2);注:矩阵乘法不满足交换律 (3) (4),为酉矩阵,则 (5) (6) (7) (8) (9) (10) (11) (12),,则其中为奇异分解值的特征值 11.矩阵的伴随矩阵 (1)设由行列式的代数余子式所构成的矩阵

矩阵的基本运算

矩阵的基本运算 (摘自:华东师范大学数学系;https://www.doczj.com/doc/8e6482821.html,/)§3.1 加和减 §3.2矩阵乘法 §3.2.1 矩阵的普通乘法 §3.2.2 矩阵的Kronecker乘法 §3.3 矩阵除法 §3.4矩阵乘方 §3.5 矩阵的超越函数 §3.6数组运算 §3.6.1数组的加和减 §3.6.2数组的乘和除 §3.6.3 数组乘方 §3.7 矩阵函数 §3.7.1三角分解 §3.7.2正交变换 §3.7.3奇异值分解 §3.7.4 特征值分解 §3.7.5秩 §3.1 加和减

如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差.如果矩阵A和B的维数不匹配,Matlab会给出相应的错误提示信息.如: A= B= 1 2 3 1 4 7 4 5 6 2 5 8 7 8 0 3 6 0 C =A+B返回: C = 2 6 10 6 10 14 10 14 0 如果运算对象是个标量(即1×1矩阵),可和其它矩阵进行加减运算.例如: x= -1 y=x-1= -2 0 -1 2 1 §3.2矩阵乘法 Matlab中的矩阵乘法有通常意义上的矩阵乘法,也有Kronecker乘法,以下分别介绍. §3.2.1 矩阵的普通乘法 矩阵乘法用“ * ”符号表示,当A矩阵列数与B矩阵的行数相等时,二者可以进行乘法运算,否则是错误的.计算方法和线性代数中所介绍的完全相同. 如:A=[1 2 ; 3 4]; B=[5 6 ; 7 8]; C=A*B, 结果为 C=×==

即Matlab返回: C = 19 22 43 50 如果A或B是标量,则A*B返回标量A(或B)乘上矩阵B(或A)的每一个元素所得的矩阵. §3.2.2 矩阵的Kronecker乘法 对n×m阶矩阵A和p×q阶矩阵B,A和B的Kronecher乘法运算可定义为: 由上面的式子可以看出,Kronecker乘积A B表示矩阵A的所有元素与 B之间的乘积组合而成的较大的矩阵,B A则完全类似.A B和B A均为np ×mq矩阵,但一般情况下A B B A.和普通矩阵的乘法不同,Kronecker乘 法并不要求两个被乘矩阵满足任何维数匹配方面的要求.Kronecker乘法的Matlab命令为C=kron(A,B),例如给定两个矩阵A和B: A= B= 则由以下命令可以求出A和B的Kronecker乘积C: A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; C=kron(A,B) C = 1 3 2 2 6 4 2 4 6 4 8 12 3 9 6 4 12 8

矩阵的基本运算法则

矩阵的基本运算法则 1、矩阵的加法 矩阵加法满足下列运算规律(设A 、B 、C 都是m n ?矩阵,其中m 和n 均为已知的正整数): (1)交换律:+=+A B B A (2)结合律:()()++++A B C =A B C 注意:只有当两个矩阵为同型矩阵(两个矩阵的行数和列数分别相等)时,这两个矩阵才能进行加法运算。 2、数与矩阵相乘 数乘矩阵满足下列运算规律(设A 、B 是m n ?矩阵,λ和μ为数): (1)结合律:()λμλμ=A A (2)分配律:()λμλμ+=+A A A (3)分配律:()λλλ+=+A B A B 注意:矩阵相加与数乘矩阵合起来,统称为矩阵的线性运算。 3、矩阵与矩阵相乘 矩阵与矩阵的乘法不满足交换律、但是满足结合律和分配率(假设运算都是可行的): (1)交换律:≠AB BA (不满足) (2)结合律:()()=AB C A BC (3)结合律:()()()λλλλ==其中为数AB A B A B (4)分配律:()(),+=++=+A B C AB AC B C A BA CA 4、矩阵的转置 矩阵的转置满足下述运算规律(假设运算都是可行的,符号()T g 表示转置): (1)()T T =A A

(2)()T T T +=+A B A B (3)()T T λλ=A A (4)()T T T =AB B A 5、方阵的行列式 由A 确定A 这个运算满足下述运算法则(设A 、B 是n 阶方阵,λ为数): (1)T =A A (2)n λλ=A A (3)=AB A B 6、共轭矩阵 共轭矩阵满足下述运算法则(设A 、B 是复矩阵,λ为复数,且运算都是可行的): (1)+=+A B A B (2)λλ=A A (3)=AB AB 7、逆矩阵 方阵的逆矩阵满足下述运算规律: (1)若A 可逆,则1-A 亦可逆,且()11--=A A (2)若A 可逆,数0λ≠,则λA 可逆,且()111 λλ--=A A (3)若A 、B 为同阶矩阵且均可逆,则AB 亦可逆,且()111---=AB B A 参考文献: 【1】线性代数(第五版),同济大学

matlab中矩阵基本运算命令.docx

1.1矩阵的表示 1.2矩阵运算 1.2.14特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k)% 以向量 v 的元素作为矩阵 X 的第 k 条对角线元素,当 k=0 时, v 为 X 的主对角线;当 k>0 时,v 为上方第 k 条对角线;当 k<0 时, v 为下方第 k 条对角线。 X = diag(v)% 以 v 为主对角线元素,其余元素为 0 构成 X。 v = diag(X,k)%抽取 X 的第 k 条对角线元素构成向量 v。k=0:抽取主对角线元素; k>0 :抽取上方第 k 条对角线元素;k<0 抽取下方第 k 条对角线元素。 v = diag(X)% 抽取主对角线元素构成向量 v。 2.上三角阵和下三角阵的抽取 函数tril% 取下三角部分 格式L = tril(X)%抽取 X 的主对角线的下三角部分构成矩阵L L = tril(X,k)% 抽取 X 的第 k 条对角线的下三角部分; k=0 为主对角线; k>0 为主对角线以上; k<0 为主对角线以下。 函数triu% 取上三角部分 格式U = triu(X)%抽取 X 的主对角线的上三角部分构成矩阵U U = triu(X,k)% 抽取 X 的第 k 条对角线的上三角部分; k=0 为主对角线; k>0 为主对角线以上; k<0 为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape,”前者主要针对 2 个已知维数矩阵之间的变维操作;而后者是对 于一个矩阵的操作。 (1)“:”变维 (2)Reshape 函数变维 格式 B = reshape(A,m,n)%返回以矩阵 A 的元素构成的 m×n 矩阵 B B = reshape(A,m,n,p,)% 将矩阵 A 变维为 m×n×p× B = reshape(A,[m n p])%同上 B = reshape(A,siz)% 由 siz 决定变维的大小,元素个数与 A 中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n)% 将矩阵 A 复制 m×n 块,即 B 由 m×n 块 A 平铺而成。 B = repmat(A,[m n])%与上面一致 B = repmat(A,[m n p]) %B 由 m×n×p× 个 A 块平铺而成 repmat(A,m,n)%当 A 是一个数 a 时,该命令产生一个全由 a 组成的 m×n 矩阵。 1.3矩阵分解 1.3.1Cholesky 分解 函数chol 格式R = chol(X)% 如果 X 为 n 阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足 R'*R = X ;若 X 非正定,则产生错误信息。 [R,p] = chol(X)% 不产生任何错误信息,若X 为正定阵,则p=0 ,R 与上相同;若X 非正定,则p 为正整数, R 是有序的上三角阵。 1.3.2 LU 分解

矩阵的简单运算公式

矩阵的运算 (一) 矩阵的线性运算 特殊乘法:222()A B A AB BA B +=+++ 2 22 ()()() A B A B A B A B =≠ (二) 关于逆矩阵的运算规律 111 1 1 11 1 1(1)()(2)() /(3)( )( )(4)()( ) T T n n A B B A k A A k A A A A ---------==== (三) 关于矩阵转置的运算规律 (1)()(2)()T T T T T T A B B A A B B A =+=+ (四) 关于伴随矩阵的运算规律 **1 *2 ***1* **1*11**1(1)(2)(2)(3)()(4)(), ()(5)()1,()1 0,()2(6)()()()n n n AA A A A E A A n A A A kA k A n r A n r A r A n r A n A A A A A A A A A -------===≥===?? ==-??≤-?= ==若若若若可逆,则,, (五) 关于分块矩阵的运算法则 1 1 1 110000(2)000 0T T T T T A B A C C D B D B B B C C C C B -----?? ?? =????????????????==????????????????(1);, (六) 求变换矩阵 ()121 1 2 11121311111121222321121121313233313131100(a )(2)i n n i i i ij i i i i A T TAT T P P P AP P A a a a p p p a a a p p P p a a a p p p AP P P i λλλλλλλ--?? ? ?= ? ? ? ?===???????? ??? ? ? =→= ??? ? ? ??? ? ?????????=+≥已知矩阵,及其特征值求使得,设,则其中若有重根则时再1 T T -由求 (七) 特征值与矩阵

实验1-矩阵的基本运算

实验1 矩阵的基本运算 一、实验目的 1、熟悉MATLAB中关于矩阵的基本命令 2、掌握利用MATLAB进行向量、矩阵的输入,向量与向量的运算,矩阵与矩阵的运算,矩阵与向量的运算。 3、掌握利用MATLAB求矩阵的特征值,进行矩阵的初等变换;讨论向量组的线性相关性等运算 二、相关知识 为了进行矩阵的各种运算,首先要输入矩阵。 在MATLAB中,矩阵的输入方法主要有两种: 一种是在MATLAB的命令窗口中输入,这种方法适合输入一些阶数较低的矩阵; 对于一些阶数较高的矩阵,最好采用建立M文件的方法,便于多次利用,也方便在需要的时候可以修改数据。 在命令窗口输入的方法为:>>A=[1,2,3;4,5,6;7,8,9]; 注意:逗号表示同行元素,也可用空格代替,分号表示换行。 使用磁盘文件的方法,则需要建立一个以m为后缀的文本文件,可以用MATLAB提供的编辑器编辑,该编辑器提供了编辑环境和MATLAB程序的调试环境。 该编辑器的使用方法是在MATLAB主菜单中选File —>New —>M-File,就打开了一个编辑器的窗口。 文本文件的内容与在命令窗口中输入的相同。将文本文件放在一个特定的位置(某一个文件夹中),并将该位置加入到MATLAB的工作目录中,用File->Setpath来完成。 使用时,在命令窗口输入文件名,就可以使用该文件中的所有数据了。 注意:多个矩阵可以存放在一个文件中。

三、实验内容 1.已知矩阵A 、B 、b 如下: 建立一个名为sy1sj.m 的文件,将矩阵A 、B 、b 输入其中; 2.在1的基础上,建立文件sy1cx.m ,完成下列计算: 1)X11=A’,X12=A+B ,X13=A-B ,X14=AB ; 2)X21=|A|,X22=|B|; 3)X31=R(A),X32=R(B); 4)X4=A -1; 5)作矩阵C ,其元素为A 的元素乘以每个元素的行标再乘以每个元素的列标。 3.利用文件sy1sj.m 中的数据,完成下列运算,并将程序写在文件sy1_1.m 中: 1)求解矩阵方程XA=B 中的解矩阵X6; 2)求满足方程组AX=b’的解向量X7; 3)求X6的特征向量组,记为X8,相应的对角形记为D ; 4)计算X9=B 2(A -1)2; 4.利用文件sy1sj.m 中的数据,完成下列运算,并将程序写在文件sy1_2.m 中: 1)生成矩阵A 的行向量组:a1,a2,a3,a4,a5,a6; 2)生成矩阵A 的列向量组:b1,b2,b3,b4,b5,b6; 3)由A 的1、3、5行,2、4、6列交叉点上的元素生成A 的子矩阵A3; 4)生成一个12阶矩阵A4,其左上角为A ,右上角为6阶单位阵,左下角为6阶零矩阵,右下角为B ; 5)将A 对应的行向量组正交规范化为正交向量组A5,并验证所得结果; 6)求a1与a2的内积A7; 7)完成以下初等变换:将A 的第一、四行互换,再将其第三列乘以6,再将其第一行的10倍加至第五行; 8)求B 的列向量组的一个极大无关向量组A9,并将其余向量用极大线性无关向量组线性表示。 ????? ??????? ??? ?????-------------=0319 4811876381265428617411647056109 1143A ?? ? ?? ? ??? ? ?? ????? ???------=5036 4 22372536191291132815 1055120 11 8785169723 6421 B [ ] 1197531=b

C_矩阵基本运算代码

C#矩阵的运算代码 #region 矩阵运算 ///

/// 矩阵对应行列式的值 /// /// /// private double MatrixValue(double[,] MatrixList) { int Level = MatrixList.GetLength(1); double[,] dMatrix = new double[Level, Level]; for (int i = 0; i < Level; i++) { for (int j = 0; j < Level; j++) { dMatrix[i, j] = MatrixList[i, j]; } } int sign = 1; for (int i = 0, j = 0; i < Level && j < Level; i++, j++) { //判断改行dMatrix[i, j]是否为0,若是,则寻找i后的行(m,m>i,切dMatrix[m, j]!=0)进行交换if (dMatrix[i, j] == 0) { if (i == Level - 1) { return 0; } int m = i + 1; //获取一个dMatrix[m, j]不为为0的行 for (; dMatrix[m, j] == 0; m++) { if (m == Level - 1) { return 0; } } //判断是否达到矩阵的最大行,若是,则返回0 //把i行和m行调换 double temp; for (int n = j; n < Level; n++) { temp = dMatrix[i, n];

第三章矩阵与线性代数计算

第三章 矩阵与线性代数计算 MATLAB ,即“矩阵实验室”,它是以矩阵为基本运算单元。因此,本章从最基本的运算单元出发,介绍MATLAB 的命令及其用法。 3.1矩阵的定义 由m×n 个元素a ij (i=1,2,…m;j=1,2,…n)排列成的矩形阵称为一个m 行n 列的矩阵,或m×n 阶矩阵,可以简记为A=(a ij ) m×n ,其中的a ij 叫做矩阵的第i 行第j 列元素。 ???? ? ?????=mn m m n n a a a a a a a a a A 2 1 22221 11211 当m=n 时,称A 为n 阶方阵,也叫n 阶矩阵; 当m=1,n ≥2时,即A 中只有一行时,称A 为行矩阵,或行向量(1维数组); 当m ≥2,n=1时,即A 中只有一列时,称A 为列矩阵,或列向量; 当m=1,n=1时,即A 中只有一个元素时,称A 为标量或数量(0维数组)。 3.2矩阵的生成 1.实数值矩阵输入 MATLAB 的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。 不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如: 【例3-1】矩阵的生成例。 a=[1 2 3;4 5 6;7 8 9] b=[1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9; 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9; 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9] Null_M = [ ] %生成一个空矩阵

(完整版)矩阵的运算教案.doc

9.2 矩阵的运算 一、新课引入: 小王、小李在两次数学考试中答对题数如下表表示: 题型 期中 期末 答题 姓 数 填空题 选择题 解答题 填空题 选择题 解答题 名 小王 10 3 2 8 4 4 小李 9 5 3 7 3 3 填空题每题 4 分,选择题 4 分,解答题每题 10 分; 1、观察: 2、思考( 1):如何用矩阵表示他们的答对题数?他们期中、期末的成绩?思 考( 2):如果期中占 40% ,期末占 60% ,求两同学的总评成绩; 3、讨论:今天如何通过矩阵运算来研究上述问题? 二、新课讲授 1、矩阵的加法 (1)引入:记期中成绩答题数为 A ,期末答题数为 B ,则: 10 3 2 8 4 4 A B 9 5 3 7 3 3 确定两次考试的小王,小李的各题型答题总数的矩阵 C 18 7 6 C A B 16 8 6 (2)矩阵的和(差): 当两个矩阵 A 、 B 的维数相同时,将它们各位置上的元素加(减)所得到的矩阵称为矩 阵 A 、 B 的和(差) , 记作: A B A B 。 ( 3)运算律: 加法运算律: 加法结合律: A B B A ; A B C A B C 。 2、矩阵的数乘 (1)引入:计算小王、小李各题型平均答题数的矩阵: 1 9 3.5 3 2 A B 4 3 8 ( 2)矩阵与实数的积: 设 为任意实数, 把矩阵 A 的所有元素与相乘得到的矩阵叫做矩阵 A 与实数 的乘

积矩阵,记作: A 。 (3)运算律:( 、 R ) 分配律: A B A B ; ( ) A A A ; 结合律: A A A 。 3、例题举隅 1 3 3 8 例 2、已知 A 5 , B ,求 A B 2 6 1 4 6 3 - 4 例 3、已知 A 1 , B ,求 A- B 5 7 - 3 例 4、某公司有三家分厂一月份的水费、电费和燃料费如表所示(单位:元),现在公司限 定各分厂的水费、电费、燃料费都至少要节约 20%,用矩阵表示这三家分厂各项费用的限定额 例 5、给出二元一次方程组 a 1 x b 1 y c 1 存在唯一解的条件 a 2 x b 2 y c 2 4、矩阵的乘法 ( 1)引入:总评成绩如何计算 ( 2)矩阵的乘积: 一般,设 A 是 m k 阶矩阵, B 是 k n 阶矩阵,设 C 为 m n 矩阵,如果矩阵 C 中第 i 行第 j 列元素 C ij 是矩阵 A 第 i 个行向量与矩阵 B 的第 j 个列向量的数量积,那么 C 矩阵 叫做 A 与 B 的乘积,记作: (3)运算律: C AB 。 分配律: A(B C ) AB AC ; ( B C ) A BA CA ; 结合律: AB A B A B ; AB C A BC 。 注意: ( 1)交换律不成立,即: AB ( 2)只有当矩阵 A 的列数与矩阵 BA ; B 的行数相等时,矩阵之积才有意义。 5、例题举隅 3 -1 2 1 4 例 6、已知 A , B 1 0 ,求 AB 5 7 - 2

三矩阵的基本运算

第三节矩阵的基本运算 §3.1 加和减 §3.2矩阵乘法 §3.2.1 矩阵的普通乘法 §3.2.2 矩阵的Kronecker乘法 §3.3 矩阵除法 §3.4矩阵乘方 §3.5 矩阵的超越函数 §3.6数组运算 §3.6.1数组的加和减 §3.6.2数组的乘和除 §3.6.3 数组乘方 §3.7 矩阵函数 §3.7.1三角分解 §3.7.2正交变换 §3.7.3奇异值分解 §3.7.4 特征值分解 §3.7.5秩 §3.1 加和减 如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差.如果矩阵A和B的维数不匹配,Matlab会给出相应的错误提示信息.如: A= B= 1 2 3 1 4 7 4 5 6 2 5 8 7 8 0 3 6 0 C =A+B返回: C = 2 6 10 6 10 14 10 14 0 如果运算对象是个标量(即1×1矩阵),可和其它矩阵进行加减运算.例如: x= -1 y=x-1= -2 0 -1 2 1 §3.2矩阵乘法 Matlab中的矩阵乘法有通常意义上的矩阵乘法,也有Kronecker乘法,以下分别介绍.

§3.2.1 矩阵的普通乘法 矩阵乘法用“ * ”符号表示,当A 矩阵列数与B 矩阵的行数相等时,二者可以进行乘法运算,否则是错误的.计算方法和线性代数中所介绍的完全相同. 如:A=[1 2 ; 3 4]; B=[5 6 ; 7 8]; C=A*B , 结果为 C=×== 即Matlab 返回: C = 19 22 43 50 如果A 或B 是标量,则A*B 返回标量A (或B )乘上矩阵B (或A )的每一个元素所得的矩阵. §3.2.2 矩阵的Kronecker 乘法 对n ×m 阶矩阵A 和p ×q 阶矩阵B ,A 和B 的Kronecher 乘法运算可定义为: 由上面的式子可以看出,Kronecker 乘积A B 表示矩阵A 的所有元素与B 之间的乘积组合而成的较大的矩阵,B A 则完全类似.A B 和B A 均为np ×mq 矩阵,但一般情况下A B B A .和普通矩阵的乘法不同,Kronecker 乘法并不要求两个被乘矩阵满足任何维数匹配方面的要求.Kronecker 乘法的Matlab 命令为C=kron(A,B),例如给定两个矩阵A 和B : A= B= 则由以下命令可以求出A 和B 的Kronecker 乘积C : A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; C=kron(A,B) C = 1 3 2 2 6 4 2 4 6 4 8 12 3 9 6 4 12 8 6 12 18 8 16 24 作为比较,可以计算B 和A 的Kronecker 乘积D ,可以看出C 、D 是不同的: A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; D=kron(B,A) D = 1 2 3 6 2 4 3 4 9 12 6 8 2 4 4 8 6 12 6 8 12 16 18 24 §3.3 矩阵除法 在Matlab 中有两种矩阵除法符号:“\”即左除和“/”即右除.如果A 矩阵是非奇异方阵,则A\B 是A 的逆矩阵乘B ,即inv(A)*B ;而B/A 是B 乘A 的逆矩阵,即B*inv(A).具体计算时可不用逆矩阵而直接计算. 通常: ???? ??4321???? ??8765???? ???+??+??+??+?8463745382617251???? ??50432219??????? ??=?=B a B a B a B a B a B a B a B a B a B A C nm n n m m (2122221) 11211 ?????≠?1234?? ???132246?? ???

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