matlab矩阵运算_第1页
matlab矩阵运算_第2页
matlab矩阵运算_第3页
matlab矩阵运算_第4页
matlab矩阵运算_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021/2/121 Matlab基础 向量与矩阵运算向量与矩阵运算 2021/2/122 q 向量与矩阵的生成向量与矩阵的生成 向量与矩阵运算向量与矩阵运算 u 向量的生成向量的生成 直接输入直接输入: a=1,2,3,4 冒号冒号运运算符算符 a=1:4 = = a=1, 2, 3, 4 b=0:pi/3:pi = b=0, 1.0472, 2.0944, 3.1416 c=6:-2:0 = = c = 6, 4, 2, 0 例例: 从矩阵中抽取行或列从矩阵中抽取行或列 2021/2/123 q 向量与矩阵的生成(续)向量与矩阵的生成(续) 向量与矩阵运算向量与矩阵运算 u 矩阵的生成矩阵

2、的生成 直接输入直接输入: A=1, 2, 3; 4, 5, 6; 7, 8, 9 由向量生成由向量生成 由函数生成由函数生成 通过编写通过编写m文件生成文件生成 例例: x=1,2,3;y=2,3,4; A=x,y, B=x;y 例例: : C=magic(3) 2021/2/124 常见矩阵生成函数常见矩阵生成函数 zeros(m,n)生成一个生成一个 m 行行 n 列的零矩阵列的零矩阵,m=n 时可简写为时可简写为 zeros(n) ones(m,n)生成一个生成一个 m 行行 n 列的元素全为列的元素全为 1 的矩阵的矩阵, m=n 时可写为时可写为 ones(n) eye(m,n)生

3、成一个主对角线全为生成一个主对角线全为 1 的的 m 行行 n 列矩阵列矩阵, m=n 时可简写为时可简写为 eye(n),即为即为 n 维单位矩阵维单位矩阵 diag(X)若若 X 是矩阵是矩阵,则则 diag(X) 为为 X 的主对角线向量的主对角线向量 若若 X 是向量是向量,diag(X) 产生以产生以 X 为主对角线的对角矩阵为主对角线的对角矩阵 tril(A)提取一个矩阵的下三角部分提取一个矩阵的下三角部分 triu(A)提取一个矩阵的上三角部分提取一个矩阵的上三角部分 rand(m,n)产生产生 01 间均匀分布的随机矩阵间均匀分布的随机矩阵 m=n 时简写为时简写为 rand(

4、n) randn(m,n)产生均值为产生均值为0,方差为方差为1的标准正态分布随机矩阵的标准正态分布随机矩阵 m=n 时简写为时简写为 randn(n) 2021/2/125 矩阵操作矩阵操作 q 提取矩阵的部分元素:提取矩阵的部分元素: 冒号运算符冒号运算符 u A(:) A的所有元素的所有元素 u A(:,:) 二维矩阵二维矩阵A的所有元素的所有元素 u A(:,k) A的第的第 k 列,列, A(k,:) A的第的第 k 行行 u A(k:m) A的第的第 k 到第到第 m 个元素个元素 u A(:,k:m) A的第的第 k 到第到第 m 列组成的子矩阵列组成的子矩阵 A(:) 与与 A

5、(:,:) 的区别的区别 ? 如何获得由如何获得由 A 的第一、三行和第一、二列组成的子矩阵?的第一、三行和第一、二列组成的子矩阵? 自己动手 2021/2/126 矩阵操作矩阵操作 q 矩阵的旋转矩阵的旋转 u fliplr(A) 左右旋转左右旋转 u flipud(A) 上下旋转上下旋转 u rot90(A) 逆时针旋转逆时针旋转 90 度度; rot90(A,k) 逆时针旋转逆时针旋转 k90 度度 例例: A=1 2 3;4 5 6 B=fliplr(A) C=flipud(A) D=rot90(A), E=rot90(A,-1) 2021/2/127 矩阵操作矩阵操作 q 矩阵的转置

6、与共轭转置矩阵的转置与共轭转置 u 共轭转置共轭转置 u . 转置,矩阵元素不取共轭转置,矩阵元素不取共轭 例例: A=1 2;2i 3i B=A C=A. 点与单引号之间不能有空格点与单引号之间不能有空格! 2021/2/128 矩阵操作矩阵操作 q 改变矩阵的形状改变矩阵的形状:reshape reshape(A,m,n): 将矩阵元素按将矩阵元素按 列方向列方向 进行重组进行重组 重组后得到的新矩阵的元素个数重组后得到的新矩阵的元素个数 必须与原矩阵元素个数相等必须与原矩阵元素个数相等! 2021/2/129 矩阵操作矩阵操作 q 查看矩阵的大小查看矩阵的大小:size u size(A

7、) 列出矩阵列出矩阵 A 的的行数和列数行数和列数 u size(A,1) 返回矩阵返回矩阵 A 的的行数行数 u size(A,2) 返回矩阵返回矩阵 A 的的列列数数 例例: A=1 2 3; 4 5 6 size(A) size(A,1) size(A,2) u length(x) 返回返回向量向量 X 的的长度长度 u length(A) 等价于等价于 max(size(A) 2021/2/1210 矩阵基本运算矩阵基本运算 q 矩阵的加减矩阵的加减:对应分量进行运算对应分量进行运算 要求参与加减运算的矩阵具有要求参与加减运算的矩阵具有 相同的维数相同的维数 例例: A=1 2 3;

8、4 5 6; B=3 2 1; 6 5 4 C=A+B; D=A-B; q 矩阵的普通乘法矩阵的普通乘法 要求参与运算的矩阵满足线性代数中矩阵相乘要求参与运算的矩阵满足线性代数中矩阵相乘的的原则原则 例例: A=1 2 3; 4 5 6; B=2 1; 3 4; C=A*B 2021/2/1211 矩阵基本运算矩阵基本运算 q 矩阵的矩阵的除法除法:/、 右除和左除右除和左除 若 A 可逆方阵,则 AB A 的逆左乘的逆左乘 B = inv(A)*B B/A A 的逆右乘的逆右乘 B B*inv(A) X=AB A*X=B X=B/A X*A=B 通常,矩阵除法可以理解为 当当 A 和和 B

9、行数相等行数相等时即可进行时即可进行左除左除 当当 A 和和 B 列数相等列数相等时即可进行时即可进行右除右除 2021/2/1212 线性代数运算的线性代数运算的MATLAB命令命令 MATLAB是矩阵化程序设计语言,所以处理矩阵和向量运算特别方 便。关于矩阵和向量的一些基本运算命令已在前面有所介绍,常用的 命令和函数还有 zeros 生成0矩阵 eig 特征值、特征向量 ones 生成1矩阵 diag 对角矩阵 eye 生成单位矩阵 trace 方阵的迹 linspace 生成等距行向量 rank 矩阵的秩 rand 生成随机矩阵 rref 行最简形 det 方阵的行列式 orth 正交规

10、范 inv 方阵的逆 null 求基础解系 norm 范数 jordan Jordan 分解 cond 方阵的条件数 2021/2/1213 X=AB A*X=B X=B/A X*A=B q当A为方阵,其结果与inv(A)*B基本一致; q当A不为方阵,除法将分三种情况自动检测:若为超 定方程组(既无解)除法将给出最小二乘意义上的近 似解,即使向量AX-B的长度最小;若为不定方程组(即 无穷多解),除法将给出一个具有最多零元素的特解 (不是通解);若为唯一解,除法将给出这个解。用户 对结果应有一个正确的认识。 2021/2/1214 例例: 解下列方程组 1 1( 4 21 2 324 21

11、3324( 2 21 4 242 xy xy xyz xyz xy xy xy xy xy ()定解方程组) ( )(不定方程组) ( )超定方程组) ( )(奇异方程组) 2021/2/1215 解解: A=1 1;1 -1;B=1;4;x=AB x = 2.5000 -1.5000 求得唯一解。 A=1 2 1;3 -2 1;B=1;4;x=AB x = 1.2500 -0.1250 0 仅求得一个特解。 A=1 2;3 -2;1 -1;B=1;4;2;x=AB x = 1.2838 -0.1757 求得一最小二乘近似解。 2021/2/1216 A=1 2;2 4;B=1;2;x=AB

12、Warning: Matrix is singular to working precision. (Type warning off MATLAB:singularMatrix to suppress this warning.) x = Inf Inf 可见,不能直接求解。 A=1 2;2 4;0 0;B=1;2;0;x=AB %增加0 x+0y=0,使A不为方阵 Warning: Rank deficient, rank = 1 tol = 2.9790e-015. x = 0 0.5000 仍可求一特解。 2021/2/1217 例例:求线性方程组的通解 解解:在有无穷多解的情况可用三

13、种方法求得通解。 1234 1234 1234 1 1 221 xxxx xxxx xxxx 2021/2/1218 方法一方法一:用rref化为行最简形以后求解。 clear;a=1 -1 1 -1;-1 1 1 -1;2 -2 -1 1;b=1;1;-1; rank(a),rank(a,b) ans = 2 2秩相等且小于,说明有无穷多解 rref(a,b) ans = 1 -1 0 0 0 0 0 1 -1 1 0 0 0 0 0 即通解为:小x1=x2,x3=x4+1(x2,x4自由) 2021/2/1219 方法二方法二:先用除法求出一个特解,再用null求得齐次组的基础解系。 cl

14、ear;a=1 -1 1 -1;-1 1 1 -1;2 -2 -1 1;b=1;1;-1; x0=ab;x=null(a) Warning: Rank deficient, rank = 2 tol = 2.1756e-015. x = -0.7071 0 -0.7071 0 -0.0000 0.7071 -0.0000 0.7071 通解为k1*x(:,1)+k2*x(:,2)+x0 方法三方法三:使用solve求解。(见第章) 2021/2/1220 特征值和特征向量特征值和特征向量 V,D=eig(A) 返回方阵A的特征值和特征向量。其中D为特 征值构 成的对角阵,每个特征值对应的V的为

15、属于该特征值的一个 特征向量,每个特征向量都是单位向量,并且属于同一特 征值 的线性无关特征向量已正交化。 eig(A) 返回方阵A的特征值构成的列向量。 2021/2/1221 例例: A=1 2 3;2 3 4;2 4 5;V,D=eig(A),t=eig(A) V = -0.3957 -0.2167 + 0.5832i -0.2167 - 0.5832i -0.5765 0.6313 0.6313 -0.7149 -0.3914 - 0.2471i -0.3914 + 0.2471i D = 9.3329 0 0 0 -0.1665 + 0.2818i 0 0 0 -0.1665 - 0

16、.2818i t = 9.3329 -0.1665 + 0.2818i -0.1665 - 0.2818i 2021/2/1222 矩阵的乘方矩阵的乘方 u A 是方阵,p 是正整数 Ap 表示 A 的 p 次幂,即 p 个 A 相乘。 u 若 A 是方阵,p 不是正整数 Ap 的计算涉及到的计算涉及到 A 的特征值分解,即若的特征值分解,即若 A = V*D*V-1 则 Ap=V*(D.p)/V 2021/2/1223 矩阵的乘方矩阵的乘方 u 若 a 是标量,A 是方阵,且 V,D = eig(A),则 aA V*(aD)/V u 若 A, P 均是矩阵,则 AP 无定义 u 若 a 是标

17、量, n d d d D 00 00 00 2 1 n da da da Da 00 00 00 2 1 则 2021/2/1224 矩阵的矩阵的 Kronecker 乘乘积积 q 矩阵矩阵 Kronecker 乘积乘积的定义的定义 设A是nm矩阵,B是pq矩阵,则A与B的kronecker乘积为: m m nnnm a Ba BaB a Ba BaB CAB a Ba BaB 11121 21222 12 q Kronecker 乘积乘积的性质的性质 u 是是 npmq 矩阵;矩阵;通常通常 BAABBA u 任何两个矩阵都有任何两个矩阵都有 Kronecker 乘积乘积 u Matlab

18、中实现两个矩阵中实现两个矩阵 Kronecker 相乘的函数为相乘的函数为 kron(A,B) Kronecker乘积有时也称张量积乘积有时也称张量积 2021/2/1225 矩阵的数组运算矩阵的数组运算 q 数组运算数组运算:对应元素进行运算 点与算术运算符之间不能有空格! u 数组运算包括数组运算包括:点乘点乘、点除点除、点幂点幂 u 相应的数组运算符为相应的数组运算符为: “.* ” , “./ ” , “. ” 和和 “ . ” 参与运算的对象必须具有相同的形状参与运算的对象必须具有相同的形状! 例例: A=1 2 3; 4 5 6; B=3 2 1; 6 5 4; C=A.*B; D

19、=A./B; E=A.B; F=A.B; 2021/2/1226 函数取值函数取值 设设 x 是变量是变量, f 是一个函数是一个函数 u 当当 x = a 是标量时是标量时,f(x) = f(a)也是一个标量也是一个标量 u 当当 x = a, b, , c 是向量时是向量时,f(x)= f(a), f(b), , f(c) q 函数作用在矩阵上的取值函数作用在矩阵上的取值 u 若若 A 是矩阵是矩阵,则则 f(A) 是一个与是一个与 A 同形状的矩阵同形状的矩阵 f 作用在作用在 x 的的每个分量上每个分量上 2021/2/1227 函数取值函数取值 怎样计算怎样计算 eA ? 例例: x

20、=0:pi/4:pi; A=1 2 3; 4 5 6; y1=sin(x); y2=exp(A); y3=sqrt(A); )exp()exp()exp( )exp()exp()exp( )exp()exp()exp( )exp( 21 22221 11211 mnmm n n aaa aaa aaa A 例例: 2021/2/1228 矩阵的超越函数矩阵的超越函数 q Matlab 提供了三种矩阵函数:expm、sqrtm、logm 详情参见联机帮助(详情参见联机帮助(help expm / sqrtm / logm ) q 更一般的矩阵函数: funm u funm(A,fun) 参数参数 fun 的可以是的可以是 exp,,log,cos,sin,cosh,sinh 2021/2/1229 数与数组的点幂数与数组的点幂 x.y =14,25,36=1,32,729 x.2 =12,22,32=1,4,9 2 .x = ? . 前面留个空格前面留个空格 例例: :x=1 2 3; y=4 5 6; 2 .x;y= ? Matlab中的所有中的所有 标点符号必须在标点符号必须在 英文状态下输入英文状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论