收藏 分享(赏)

第三章(矩阵).ppt

上传人:hskm5268 文档编号:10036523 上传时间:2019-09-30 格式:PPT 页数:46 大小:82.50KB
下载 相关 举报
第三章(矩阵).ppt_第1页
第1页 / 共46页
第三章(矩阵).ppt_第2页
第2页 / 共46页
第三章(矩阵).ppt_第3页
第3页 / 共46页
第三章(矩阵).ppt_第4页
第4页 / 共46页
第三章(矩阵).ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、第三章 矩阵及其基本运算,本章介绍如何在MATLAB中生成矩阵及对矩阵的基本操作。,MATLAB以矩阵为基本的运算单位。 向量和标量作为特殊的矩阵处理:向量看作只有一行或一列的矩阵;标量看作是只有一个元素的矩阵。,MATLAB的矩阵按行输入。 整个矩阵应以“ ”为首尾,即整个输入矩阵必须包含在方括号中。 矩阵中,行与行之间必须用分号(;)或Enter键(按Enter键)符分隔。 每行中的元素用逗号(,)或空格分隔。,A=1,2,3;4,5,6;7,8,9A=1 2 3;4 5 6;7 8 9A=1 2 34 5 67 8 9A=1 2 34 5 67 8 9,矩阵中的元素可以是数字或表达式,但

2、表达式中不可包含未知的变量,MATLAB用表达式的值为该位置的矩阵元素赋值。 当矩阵中没有任何元素时,该矩阵被称作“空阵” (Empty Matrix)。,矩阵元素可以是复数。 用书写复数的方法输入复数元素。 用一个矩阵表示复数矩阵的实部,用另一个矩阵表示复数矩阵的虚部,再将两个矩阵相加得到所需的复数矩阵。A=1 3;2 4-5 8;6 9*iB=1+5i 2+6i;3+8i 4+9iC=A*B,生成矩阵的方法,直接输入矩阵元素; 创建M文件,生成矩阵; 由外部文件导入矩阵; 构造大矩阵; 由内部语句或函数生成矩阵。,导入数据,使用Import Wizard功能,可从外部数据文件中直接读取数据

3、。 File|Import Data 命令选项,在对话框中,选择将要读取数据的数据文件。 选中文件,单击打开按钮,然后打开“Import Wizard”窗口。 单击“FINISH”按钮,即可输入该数据文件中数据。,构造大矩阵,m =1 2 34 5 67 8 9A=m m+10; m+20 m+30,A =1 2 3 11 12 134 5 6 14 15 167 8 9 17 18 1921 22 23 31 32 3324 25 26 34 35 3627 28 29 37 38 39,特殊矩阵,可以用MATLAB函数生成特殊矩阵。,全零阵,B = zeros(n) %生成nn全零阵 B

4、= zeros(m,n) %生成mn全零阵 B = zeros(m n) %生成mn全零阵 B = zeros(d1,d2,d3) %生成d1d2d3全零阵或数组 B = zeros(d1 d2 d3) %生成d1d2d3全零阵或数组 B = zeros(size(A) %生成与矩阵A相同大小的全零阵,单位阵,Y = eye(n) %生成nn单位阵 Y = eye(m,n) %生成mn单位阵 Y = eye(size(A) %生成与矩阵A相同大小的单位阵,全1阵,Y = ones(n) %生成nn全1阵 Y = ones(m,n) %生成mn全1阵 Y = ones(m n) %生成mn全1阵

5、 Y = ones(d1,d2,d3) %生成d1d2d3全1阵或数组 Y = ones(d1 d2 d3) %生成d1d2 d3全1阵或数组 Y = ones(size(A) %生成与矩阵A相同大小的全1阵,均匀分布随机数矩阵,Y = rand(n) %生成nn随机数矩阵,其元素在(0, 1)内 Y = rand(m,n) %生成mn随机数矩阵 Y = rand(m n) %生成mn随机数矩阵 Y = rand(m,n,p,) %生成mnp随机数矩阵或数组 Y = rand(m n p) %生成mnp随机数矩阵或数组 Y = rand(size(A) %生成与矩阵A相同大小的随机数矩阵,正态

6、分布随机数矩阵,Y = randn(n) %生成nn正态分布随机数矩阵 Y = randn(m,n) %生成mn正态分布随机数矩阵 Y = randn(m n) %生成mn正态分布随机数矩阵 Y = randn(m,n,p,) %生成mnp正态分布随机数矩阵或数组 Y = randn(m n p) %生成mnp正态分布随机数矩阵或数组,Y = randn(size(A) %生成与矩阵A相同大小的正态分布随机数矩阵 randn %无变量输入时只产生一个正态分布随机数,产生线性等分向量,y = linspace(a,b) %在(a, b)上产生100个线性等分点 y = linspace(a,b,

7、n) %在(a, b)上产生n个线性等分点,产生对数等分向量,y = logspace(a,b) %在(10a, 10b)之间产生50个对数等分向量 y = logspace(a,b,n) %在(10a, 10b)之间产生n个对数等分向量 y = logspace(a,pi) %在(10a, )之间产生50个对数等分向量,矩阵操作,矩阵的保存、读取 矩阵的元素的引用 矩阵元素的删除 矩阵元素的赋值,矩阵的保存和提取,MATLAB用MAT文件保存二进制的数据。 用save命令保存已经存在的矩阵A和B。save filename A B filename是用户定义的文件名,MATLAB系统将会自动

8、在文件名后加上后缀.MAT。 用load命令读入MATLAB工作空间。load filename,矩阵元素的引用,在MATLAB中,矩阵元素的引用可以用两个下标来表示,如在矩阵A中,第i行第j列的元素用A(i,j)表示;也可以用一个下标来表示。 MATLAB的运算基本上都是对列操作的,矩阵可以认为是按列优先排列的一个长的列向量,从而可用单下标引用。 22的矩阵A,A(1)表示第一列的第一个元素,A(2)表示第一列的第二个元素,A(3)表示第二列的第个元素,A(4)表示第二列的第二个元素。,当矩阵的下标超出矩阵的实际元素的下标时,将给出错误信息。 当某个值被赋给矩阵的一个新的元素时,MATLAB

9、会自动增加矩阵的维数大小。 44的矩阵A,执行命令A(4, 5)18后,矩阵A将变成45的矩阵。A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16A(4,5)=18;,删除矩阵的行和列,在MATLAB里,可通过把矩阵的列或行赋值为空矩阵来删除某行或某列。 某列x(:,2)= 将删除矩阵x的第二列。 在MATLAB中,不能用双下标来删除矩阵的某个元素。 当矩阵x不为标量时,运行命令x(1,2) 将给出错误信息。 可用单下标来删除矩阵的某个或某些元素,剩下的元素将按列编成个长行向量。,矩阵运算,运算符:“+”和“-”分别为矩阵加、减运算符。 运算规则:对应元素相加、减

10、,即按线性代数中矩阵的“+”,“-”运算进行。,运算符:* 运算规则:按线性代数中矩阵乘法运算进行,即左面矩阵的各行元素分别与右面矩阵的各列对应元素相乘并相加。运算符:.* 数组乘法:A.*B表示A与B对应元素相乘,A与B的维数要相同。,向量点积,向量的点乘(内积):维数相同的两个向量的点乘。 C = dot(A,B) 若A、B为向量,则返回向量A与B的点积,A与B长度相同。 A与B也可以是多维数组。 C = dot(A,B,dim) %在dim维数中给出A与B的点积。 与sum(X.*Y)的作用相同。,向量叉乘,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。 在MATLA

11、B中,用函数cross实现。 C = cross(A, B) 若A、B为向量,则返回A与B的叉乘,即C=AB,A、B必须是3个元素的向量;,若A、B为矩阵,则返回一个3n矩阵,其中的列是A与B对应列的叉积,A、B都是3n矩阵。 C = cross(A,B,dim) %在dim维数中给出向量A与B的叉积。A和B必须具有相同的维数,size(A,dim)和size(B,dim)必须是3,混合积,混合积由以上两函数实现:计算向量a=(1, 2, 3)、b=(4, 5, 6)和c=(-3, 6, -3)的混合积。x=dot(a, cross(b, c),除法运算,Matlab提供了两种除法运算:左除(

12、)和右除(/)。 一般情况下,x=ab是方程a*x =b的解,而x=b/a是方程x*a=b的解。 若a为非奇异矩阵,则ab和b/a可由a的逆矩阵与b阵得到:ab = inv(a)*bb/a = b*inv(a),数组除法,A.B表示A中元素与B中对应元素相除 B(i,j)/A(i,j) A./B表示A中元素与B中对应元素相除 A(i,j)/B(i,j),矩阵转置,运算符为“”。 若矩阵A的元素为实数,则与线性代数的矩阵转置相同; 若A为复数矩阵,则A转置后的元素由A对应元素的共轭复数构成。,行列式,d = det(X) %返回矩阵X的行列式的值。,矩阵逆,Y=inv(X) %求方阵X的逆矩阵。

13、 若X为奇异阵或近似奇异阵,将给出警告信息,例如求A的逆矩阵。,A=1 2 3; 2 2 1; 3 4 3; Y=inv(A)或Y=A(-1) Y =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.0000,由增广矩阵进行初等行变换,B=1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1; C=rref(B) %化行最简形 X=C(:, 4:6) %取矩阵C中的A(-1)部分 C =1.0000 0 0 1.0000 3.0000 -2.00000 1.0000 0 -

14、1.5000 -3.0000 2.50000 0 1.0000 1.0000 1.0000 -1.0000,X =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.0000,矩阵的迹,b=trace (A) %返回矩阵A的迹,即A的对角线元素之和。,矩阵的秩,k = rank (A) %求矩阵A的秩。 k = rank (A,tol) %tol为给定的误差。,矩阵的变维,矩阵的变维有两种方法,即用“:”和函数“reshape”。 前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。,A=1 2 3 4 5

15、 6;6 7 8 9 0 1A =1 2 3 4 5 66 7 8 9 0 1B=ones(3,4)B =1 1 1 11 1 1 11 1 1 1,B(:)=A(:)B =1 7 4 06 3 9 62 8 5 1,reshape函数,B = reshape(A,m,n) %返回以矩阵A的元素构成的mn矩阵B。 B = reshape(A,m,n,p,) %将矩阵A变维为mnp。 B = reshape(A,m n p) %同上。 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数相同。,a=1:12;b=reshape(a,2,6)b =1 3 5 7 9 112 4 6 8 10 12,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报