《矩阵运算(完整版)实用资料.doc》由会员分享,可在线阅读,更多相关《矩阵运算(完整版)实用资料.doc(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、矩阵运算(完整版)实用资料(可以直接使用,可编辑 完整版实用资料,欢迎下载)实验1 矩阵运算一 实验目的熟悉MATLAB软件中关于矩阵初等变换的方法以及矩阵运算的各种命令。二 实验内容与要求1. 启动与退出 双击MATLAB图标,进入MATLAB命令窗口,即可输入命令,开始运算。单击File菜单中的Exit,或使用MATLAB命令退出。(1) 数的输入 a=5回车:a =5输入复数25i:b = 2.0000 - 5.0000i问题1.1:输入“a=5;”,回车后与上面有什么区别?在行尾加“;”,该行结果不显示;在行尾加“,”或加“,”或不加标点,该行结果显示。注意,在MATLAB中,标点符号
2、一定要在英文状态下输入!(2) 数组的输入 b=1,3,5,7,9,11 c=1:2:11 d=linspace(1,11,6)问题1.2:体会以上输入放有什么区别和联系。若b为在02pi之间均匀分布的22个数据c=(1.3,2.5,7.6,2,-3),d=(23,20,17,14,11,8,5,2),各用何种方法输入比较简单?(3) 矩阵的输入 A=2,3,5;1,3,5;6,9,4%行之间要用分号隔开A =2 3 5 1 3 56 9 4等待键盘输入命令格式为:m=input(请输入初始量,m=);请输入初始量,m=问题1.3:输入A(2,3),结果如何?输入A(7)又如何?体会以上输入的
3、结果,注意,数和数组可作为矩阵的特。注意: 变量名开头必须是英文字母,后面的字符可以是英文,数字和下划线,但不包含空格和标点;6.5版变量名最长可包含63个字符,以前的版本最多为31个字符;变量名,函数名对字母大小写是区分的。3矩阵的大小的测试和定位A=3,5,6;2,5,8;3,5,9;3,7,9;d=numel(A) %测试定矩阵A的元素,5.x版本没有此命令n,m=size(A) %测试A的行(n),列(m)数结果为:d=12n=4m=3I,j=find(A3);%找出A中大于3的元素的行数注意: “%”后面是注释句,被忽略而不执行;对一个数组可用n=length(A),A若是矩阵,ng
4、 3出A的行,列数的最大值。4矩阵的块的操作A=(2,:); %取出A的第2行的所有元素A=(1,3,:); %取出A的第1,3行的所有元素A=(2:3,1:2) %取出A的2,3行与1,2列交叉的元素ans=2 53 5A(1,3,:)=A(3,1,:);%将A的1行和3行互换问题1.4:如何将A的2,3列互换?A=(2,:)=4; %将A的第2行的所有元素用4取代A(find(A=3)=-3; %将A中等于3的所有的元素换为-3A=(2,:)= %删除A的第2行ans=4 5 63 5 93 7 9reshape(A,2,6) %返回以A的元素重新构造的26维矩阵 自找个例子,熟悉数和数组
5、的各种运算,以及它们的各种函数值。 自找个例子,熟悉矩阵的加减乘除及其他运算,注意和点运算的区别。 输入一个矩阵,取出的第行第列的元素;取出的第,列的所有元素;让的第列和第列互换;删除的第列。 产生维的矩阵,产生维的随机矩阵,产生维的单位矩阵。 将的第行元素扩大倍,再增加后作为的第行元素。 输入任意矩阵,(它们的元素个数相等),命令(:)和(:)=会产生什么结果? ,;,;,;,;,:,体会命令,所产生的结果,学习由小矩阵生成大矩阵的方法。四提高内容 1.多维数组的创建格式:cat(n,A1,A2,Am).说明:n=1和n=2时分别构造的1:2和1:2,都是二维数组,而n=3时都可以构造出三维
6、数组。【例1.2】 A1=1,2,3;4,5,6;7,8,9;A2=A1;A3=A2-A1; A4=cat(3,A1,A2,A3)或用另一种原始方式定义A4(:,:,1) = 1 2 3 4 5 6 7 8 9 A4(:,:,2) = 1 4 7 2 5 8 3 6 9 A4(:,:,3) = 0 2 4 -2 0 2-4 -2 02.张量积格式:kron(A,B)%A为mn矩阵,为pq矩阵,则为mpnq矩阵。说明:与的张量积定义为 C=AB=其中,AB与BA均为mpnq矩阵,但一般ABBA。【例 1.3 】 A=,B=,求AB。 A=1 2;3 4;B=1 2 3;4 5 6;7 8 9;
7、C=kron(A,B)C = 1 2 3 2 4 6 4 5 6 8 10 12 7 8 9 14 16 18 3 6 9 4 8 12 12 15 18 16 20 24 21 24 27 28 32 363. 矩阵的范数格式:n=norm(A) %求矩阵A的普范数,等于A的最大奇异值。 n=norm(A,1) %求A的列范数(1范数),等于A的最大列之和。 n=norm(A,2) %求A的2范数,和norm(A)相同。 n=norm(A,inf) %求行范数(无穷大范数),等于A的最大数之和。 n=norm(A,for) %求矩阵A的Frobenius范数,AF =4.LU分解矩阵的三角分
8、解又称LU分解,它的目的是将一个矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积,将A=LU。格式: L,U=lu(X) %U为上三角阵,L为下三角阵或其变换形式,满足LU=X,L,U,P=lu (X) %U为上三角阵,L为下三角阵,P为单位矩阵的行边换满足LU=PX。【例1.4】 A=1 2 3;4 5 6;7 8 9; L,U=lu(A)L = 0.1429 1.0000 0 0.5714 0.5000 1.0000 1.0000 0 0U = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000 L,U,P=lu(A)L = 1.0000 0
9、0 0.1429 1.0000 0 0.5714 0.5000 1.0000U= 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000P=0 0 1 1 0 0 0 1 05. QR分解将矩阵A分解成一个正交矩阵与一个上三角矩阵的乘积。格式:Q,R=qr(A) %求得正交矩阵Q和上三角阵R,Q和R满足A=QR。 Q,R,E=qr(A) % 求得正交矩阵Q和上三角阵R,E为单位矩阵的变换形式, R的对角线元素按大小降序排列,满足AE=QR。例15A=1,2,3;4,5,6;7,8,9;10,11,12;Q,R=qr(A)Q=-0.0776 -0.8331
10、 0.5456 -0.0478-0.3105 -0.4512 -0.6919 0.4704-0.5433 -0.0694 -0.2531 -0.7975-0.7762 0.3124 0.3994 0.3748R=-12.8841 -14.5916 -16.29920 -1.0413 -2.08260 0 0ans=3 2 3 3 5 55 7 6 8 9 9A(4,5)=3;%扩大A的维数,A成为45矩阵,未定义元素为0 A(1:3、2:3),A(2:4、1:2);A,A(:、2) %由小矩阵构造大矩阵,注意行列维数的搭配 ans = 2 3 4 3 3 6 6 5 5 3 2 5 1 2 3
11、 2 4 3 6 3 6 5 3 5 2 5 0 5 diag(A、k); %抽取矩阵A的第k条对角线元素向量tril(A、k); %抽取矩阵A的第k条对角线下面的部分triu(A、k); %抽取矩阵A的第k条对角线上面的部分注意:“:”表示“全部”.5矩阵的翻转操作flipud(A); %A进行上下翻转fliplr(A); %A进行左右翻转rot90(A); %A逆时针旋转90o问题1.5:rot90(A,2)和rot90(A,-2)结果有区别吗?6.特殊矩阵的产生A=eye(n); %产生n维单位矩阵A=ones(n、m);%产生nm维1矩阵A=zeros(n、m);%产生nm维0矩阵A=
12、rand(n、m); %产生nm维随机矩阵(元素在91之间)问题1.6:产生一个在区间10,20内均匀分布的4阶随机矩阵.randn(m、n); %产生mn正态分布随机矩阵randperm(n); %产生1n之间整数的随机排列【例1.1】randperm(6)ans=3 2 1 5 4 6logspace(a、b、n); %在(10a、10b)之间产生n个对数等分量diag(a、b、n); %产生以a、b、c、d、为对角线元素的矩阵hilb(n); %返回n阶hilbert矩阵,其元素为H(i、j)=1/(i+j-1) magic(n); %产生n阶魔方矩阵7.数的运算4+2;4*2;4/2;
13、 %右除2,等于24/2; %4左除2,等于0.543; %4的3次方sqrt(4); %4的算术平方根exp(3); %e的3次方,不能输成e3log(4); %4的自然对数,log10(4)是以10为底,log2(4)是以2为底8.矩阵的运算A,; %A的转置det(A); %A的行列式,A必须是方阵reank(A); %A的秩inv(A); %A的逆eig(A); %A的本征值 X,D=eig(A); %A的本征矢量X及本征值Dtrace(A); %A的迹,等于A的对角线元素之和3*A; %常数与矩阵相乘A+B; %A,B必须是同维矩阵,和3+A进行比较A-B; %A,B必须是同维矩阵,
14、和3-A进行比较A*B; %和A.*B进行比较 A/B; %(和A./B进行比较)AB; %(和A.B进行比较)A2; %A2相当于A*A(和A.2进行比较)注意:矩阵的加减乘除按相关规则运算,否则给出警告信息;“.*”,“./”,“.”,“.”称为点运算(或称数组运算,又称元素群运算),点运算是前后矩阵对应元素之间的运算。问题1.7:求出A的本征矢量和本征值,比较24(A必须是方阵)和2.A的区别.矩阵的其他运算和函数见表1.3.9.变量的存储与调用(1)存储save data a b c %将变量a,b,c存到data.mat文件中(2)调用 load data %data.mat文件中所
15、有变量加载到工作空间10列出工作空间所有变量whos %列出工作空间所有变量的变量名、大小、字节数、数组维数11.联机求助help sqrt %将显示出平方根sqrt命令的功能和使用方式五、练习和思考 熟悉MATLAB的启动和退出.表1。1基本的数学函数函数名 含义 函数名 含义sin/cos正弦/余弦函数asin/acos反正弦/反余弦函数tan/cot正切/余切函数atan/acos反正切/反余切函数sec/csc正割/余割函数aec/acec反正割/反余割函数sinh/cosh双曲正弦/双曲余弦函数asinh/acosh反双曲正弦/反双曲余弦函数tanh/coth双曲正切/双曲余切函数a
16、tanh/acosh反双曲正切/反双曲余函数sech/csch双曲正割/双曲余割函数asech/acsch反双曲正割/反双曲余割函数exp指数函数sqrt平方根函数log对数函数log10常用对数函数abs绝对值函数angle角相位函数imag复数虚部函数real复数实部函数conj共轭复数函数sign正负符号函数fix朝零方向取整ceil朝正无穷方向取整round四舍五入取整floor朝无穷方向取整rem求余函数mod求余函数(带符号)gcd最大公约数lcm最小公倍数perms排列nchoosek组合表1.2特殊变量与函数 函数名 含义 函数名 含义ans默认返回变量eps默认相对浮点精度n
17、argin函数输入变量个数nargout函数输出变量个数yarargin函数中输入的可选参数varargout函数中输出的可选参数i虚数单位pi圆周率inf无穷值nan不定值flnps浮点运算次数inputname输入参数名表1.3矩阵边换和矩阵函数 函数名 含义 函数名 含义flipud矩阵上下翻转fliplr矩阵左右翻转rot90矩阵旋转90diag产生或提取对角阵tril产生或提取下三角阵triu产生或提取上三角阵eye产生单位矩阵rand产生随机矩阵ones产生1矩阵zeros产生零矩阵linespace构造线性分布向量logspace构造对数分布向量det行列式的值eig矩阵的特征值
18、trice矩阵的迹inv矩阵的逆rref化行最简形null零空间矩阵及基本运算 ( 杜丽英 )l 教学目标与要求使学生理解矩阵的概念。熟练掌握矩阵加法、数乘、乘法转置及可逆矩阵的定义及它们满足的运算算律。l 教学重点与难点教学重点:矩阵的乘法运算;可逆矩阵定义。教学难点:矩阵的乘法。从变量线性变换的乘法引入矩阵乘法的定义。l 教学方法与建议在引入矩阵的概念时,通过几个引例说明矩阵在生产实践和日常生活中有广泛的应用。在讲矩阵的基本运算时使学生看到,有些运算与数的运算类似,有些则不然。特别是矩阵乘法不满足交换律,消去律等。用学生熟悉的变量线性变换引入矩阵的乘法会使其定义更直观,便于学生理解,对于矩
19、阵乘法不满足交换律、消去律除举例说明外,还需进一步说明有些幂指算律不成立,有零因子等。l 教学过程设计1. 矩阵概念的引入引例1:线性方程组的解取决于系数和常数项,线性方程组的系数和常数按原位置可排为一个数表引例2:某航空公司在A,B,C,D四个城市之间开辟了若干条航线,如图所示表示了四个城市间的航班图,如果从A到B有航班,则用带箭头的线连接AB,从A指向B。某航空公司在A,B,C,D四城市之间开辟了若干航线 ,如图所示表示了四城市间的航班图,如果从A到B有ABCDA0110B1010C1001D0100四个城市间的航班图情况也可用表格来表示,其中1表示有航班,0表示没有航班。某航空公司在A,
20、B,C,D四城市之间开辟了若干航线 ,如图所示表示了四城市间的航班图,引例3:甲、乙两人玩石头、剪子、布游戏,下面的表格反映甲的赢得情况,其中甲胜得1;甲输得 1;两人相同为0。乙石头剪子布石头01-1剪子-101布1-10甲2. 矩阵的定义(1)定义1:由个数排成行列的数表 用小括号或中括号将其括起来, 称为矩阵, 并用一个大写字母表示, 即 , 简记为. 称为的行列元素 称为方阵 称为实矩阵 称为行矩阵或行向量 称为复矩阵 称为列矩阵或列向量 (2)几个特殊矩阵 零矩阵:所有元素都是0 的矩阵. 即单位矩阵 ;数量矩阵对角矩阵 上三角形矩阵;下三角形矩阵例1: 设变量可由变量表示为 称之为
21、由变量到变量的线性变换, 它与矩阵 是一一对应的3. 矩阵的基本运算定义 同型矩阵:指两个矩阵对应的行数相等、对应的列数相等的矩阵 矩阵相等:设, 若 , 称.(1)线性运算:, 加法: 数乘: 负矩阵: 减法:算律:设为同阶矩阵, 为常数, 则有 例2 设, 满足, 求 解 (2) 矩阵乘法:引入:设有两个线性变换 ()() 若想求出从到的线性变换,需将()代入(),整理得 ()分别比较()、()、()式的矩阵,线性变换()称为线性变换()与()的乘积,相应的矩阵C称为矩阵A与B的乘积,即C=AB,或=定义:设 , 其中元素注 的列数 = 的行数。的行数 = 的行数;的列数 = 的列数 与的
22、先后次序不能改变例3 设 , 则 例4 , , 注 无意义 例5 , , 注 ;, , 但是算律: 结合律: 分配律: , 应用:设, , , 线性方程组的矩阵形式 线性变换的矩阵形式 (3)方阵的幂: , 为正整数,, 算律: 注 一般例6 , 求解: 可以利用数学归纳法证得:(4)逆矩阵定义:对于, 若有满足, 则称为可逆矩阵, 并把称为的逆矩阵。(或性质: 若为可逆矩阵, 则的逆矩阵唯一并且记的逆为 , 则 与都可逆,则可逆, 且 一般有规定:可逆, 定义, , 则有 , (,为整数) 例7 验证:与互为逆矩阵解: 由于 那么与互为逆矩阵。例8 求解方程组 ,其中解:由例7知,于是即方程
23、组的解为例9 设方阵与满足 ,试证 可逆。证:由,有,即 或 于是 则 可逆,且例10 证明当时,可逆,并且证: 因,令那么,同理,因此可逆,并且应用: (1) 阶线性方程组求解。 设, 若可逆,则 (2) 求线性变换的逆变换。 设, 若可逆, (3) 矩阵方程求解。 设可逆, 可逆, 且已知, 则 实验1 矩阵运算一 实验目的熟悉MATLAB软件中关于矩阵初等变换的方法以及矩阵运算的各种命令。二 实验内容与要求1. 启动与退出 双击MATLAB图标,进入MATLAB命令窗口,即可输入命令,开始运算。单击File菜单中的Exit,或使用MATLAB命令退出。(3) 数的输入 a=5回车:a =
24、5输入复数25i:b = 2.0000 - 5.0000i问题1.1:输入“a=5;”,回车后与上面有什么区别?在行尾加“;”,该行结果不显示;在行尾加“,”或加“,”或不加标点,该行结果显示。注意,在MATLAB中,标点符号一定要在英文状态下输入!(4) 数组的输入 b=1,3,5,7,9,11 c=1:2:11 d=linspace(1,11,6)问题1.2:体会以上输入放有什么区别和联系。若b为在02pi之间均匀分布的22个数据c=(1.3,2.5,7.6,2,-3),d=(23,20,17,14,11,8,5,2),各用何种方法输入比较简单?(3) 矩阵的输入 A=2,3,5;1,3,
25、5;6,9,4%行之间要用分号隔开A =2 3 5 1 3 56 9 4等待键盘输入命令格式为:m=input(请输入初始量,m=);请输入初始量,m=问题1.3:输入A(2,3),结果如何?输入A(7)又如何?体会以上输入的结果,注意,数和数组可作为矩阵的特。注意: 变量名开头必须是英文字母,后面的字符可以是英文,数字和下划线,但不包含空格和标点;6.5版变量名最长可包含63个字符,以前的版本最多为31个字符;变量名,函数名对字母大小写是区分的。3矩阵的大小的测试和定位A=3,5,6;2,5,8;3,5,9;3,7,9;d=numel(A) %测试定矩阵A的元素,5.x版本没有此命令n,m=
26、size(A) %测试A的行(n),列(m)数结果为:d=12n=4m=3I,j=find(A3);%找出A中大于3的元素的行数注意: “%”后面是注释句,被忽略而不执行;对一个数组可用n=length(A),A若是矩阵,ng 3出A的行,列数的最大值。4矩阵的块的操作A=(2,:); %取出A的第2行的所有元素A=(1,3,:); %取出A的第1,3行的所有元素A=(2:3,1:2) %取出A的2,3行与1,2列交叉的元素ans=5 56 5A(1,3,:)=A(3,1,:);%将A的1行和3行互换问题1.4:如何将A的2,3列互换?A=(2,:)=4; %将A的第2行的所有元素用4取代A(
27、find(A=3)=-3; %将A中等于3的所有的元素换为-3A=(2,:)= %删除A的第2行ans=7 5 64 5 94 7 9reshape(A,2,6) %返回以A的元素重新构造的26维矩阵 自找个例子,熟悉数和数组的各种运算,以及它们的各种函数值。 自找个例子,熟悉矩阵的加减乘除及其他运算,注意和点运算的区别。 输入一个矩阵,取出的第行第列的元素;取出的第,列的所有元素;让的第列和第列互换;删除的第列。 产生维的矩阵,产生维的随机矩阵,产生维的单位矩阵。 将的第行元素扩大倍,再增加后作为的第行元素。 输入任意矩阵,(它们的元素个数相等),命令(:)和(:)=会产生什么结果? ,;,
28、;,;,;,:,体会命令,所产生的结果,学习由小矩阵生成大矩阵的方法。四提高内容 1.多维数组的创建格式:cat(n,A1,A2,Am).说明:n=1和n=2时分别构造的1:2和1:2,都是二维数组,而n=3时都可以构造出三维数组。【例1.2】 A1=1,2,3;4,5,6;7,8,9;A2=A1;A3=A2-A1; A4=cat(3,A1,A2,A3)或用另一种原始方式定义A4(:,:,1) = 1 2 3 4 5 6 7 8 9 A4(:,:,2) = 1 4 7 2 5 8 3 6 9 A4(:,:,3) = 0 2 4 -2 0 2-4 -2 02.张量积格式:kron(A,B)%A为
29、mn矩阵,为pq矩阵,则为mpnq矩阵。说明:与的张量积定义为 C=AB=其中,AB与BA均为mpnq矩阵,但一般ABBA。【例 1.3 】 A=,B=,求AB。 A=1 2;3 4;B=1 2 3;4 5 6;7 8 9; C=kron(A,B)C = 1 2 3 2 4 6 4 5 6 8 10 12 7 8 9 14 16 18 3 6 9 4 8 12 12 15 18 16 20 24 21 24 27 28 32 363. 矩阵的范数格式:n=norm(A) %求矩阵A的普范数,等于A的最大奇异值。 n=norm(A,1) %求A的列范数(1范数),等于A的最大列之和。 n=nor
30、m(A,2) %求A的2范数,和norm(A)相同。 n=norm(A,inf) %求行范数(无穷大范数),等于A的最大数之和。 n=norm(A,for) %求矩阵A的Frobenius范数,AF =4.LU分解矩阵的三角分解又称LU分解,它的目的是将一个矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积,将A=LU。格式: L,U=lu(X) %U为上三角阵,L为下三角阵或其变换形式,满足LU=X,L,U,P=lu (X) %U为上三角阵,L为下三角阵,P为单位矩阵的行边换满足LU=PX。【例1.4】 A=1 2 3;4 5 6;7 8 9; L,U=lu(A)L = 0.1429 1.0
31、000 0 0.5714 0.5000 1.0000 1.0000 0 0U = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000 L,U,P=lu(A)L = 1.0000 0 0 0.1429 1.0000 0 0.5714 0.5000 1.0000U= 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000P=0 0 1 1 0 0 0 1 05. QR分解将矩阵A分解成一个正交矩阵与一个上三角矩阵的乘积。格式:Q,R=qr(A) %求得正交矩阵Q和上三角阵R,Q和R满足A=QR。 Q,R,E=qr(
32、A) % 求得正交矩阵Q和上三角阵R,E为单位矩阵的变换形式, R的对角线元素按大小降序排列,满足AE=QR。例15A=1,2,3;4,5,6;7,8,9;10,11,12;Q,R=qr(A)Q=-0.0776 -0.8331 0.5456 -0.0478-0.3105 -0.4512 -0.6919 0.4704-0.5433 -0.0694 -0.2531 -0.7975-0.7762 0.3124 0.3994 0.3748R=-12.8841 -14.5916 -16.29920 -1.0413 -2.08260 0 0ans=3 2 3 3 5 55 7 6 8 9 9A(4,5)=
33、3;%扩大A的维数,A成为45矩阵,未定义元素为0 A(1:3、2:3),A(2:4、1:2);A,A(:、2) %由小矩阵构造大矩阵,注意行列维数的搭配 ans = 2 3 4 3 3 6 6 5 5 3 2 5 1 2 3 2 4 3 6 3 6 5 3 5 2 5 0 5 diag(A、k); %抽取矩阵A的第k条对角线元素向量tril(A、k); %抽取矩阵A的第k条对角线下面的部分triu(A、k); %抽取矩阵A的第k条对角线上面的部分注意:“:”表示“全部”.5矩阵的翻转操作flipud(A); %A进行上下翻转fliplr(A); %A进行左右翻转rot90(A); %A逆时针旋转90o问题1.5:rot90(A,2)和rot90(A,-2)结果有区别吗?6.特殊矩阵的产生A=eye(n); %产生n维单位矩阵A=ones(n、m);%产生nm维1矩阵A=zeros(n、m);%产生nm维0矩阵A=rand(n、m); %产生nm维随机矩阵(元素在91之间)问题1.6:产生一个在区间10,20内均匀分布的4阶随机矩阵.randn(m、n); %产