《矩阵及基本运算优秀PPT.ppt》由会员分享,可在线阅读,更多相关《矩阵及基本运算优秀PPT.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、矩阵及基本运算现在学习的是第1页,共37页矩阵的建立:21.直接输入以左方括号开始,右方括号结尾同一行中的元素用逗号或空格隔开行与行之间用分号或回车隔开 a=1,2,3;4,5,6;7,8,9a=1 2 3 4 5 6 7 8 9 a=1 2 3;4 5 6;7 8 9 a=1 2 3 4 5 6 7 8 9这种方法适用于矩阵元素个数较少的情况这种方法适用于矩阵元素个数较少的情况现在学习的是第2页,共37页32.用矩阵编辑器输入在命令窗口创建变量双击它打开矩阵编辑器在编辑器中输入或修改,完毕后关闭即可现在学习的是第3页,共37页43.用矩阵函数创建矩阵zeros(m,n):mn阶零矩阵eye(
2、m,n):n阶单位矩阵ones(m,n):mn阶元素全为1的矩阵rand(m,n):mn阶均匀随机矩阵,取值0到1randn(m,n):mn阶正态随机矩阵,取值0到1magic(n):n阶魔方矩阵(矩阵每行、每列及两对角线上的元素和相等)hilb(n):n阶Hilbert矩阵,即矩阵元素为1/(i+j-1)A=ones(2,3)A=1 1 1 1 1 1 eye(3)ans=1 0 0 0 1 0 0 0 1现在学习的是第4页,共37页5A=diag(v,k)生成主对角线方向上的第k(整数)层元素为向量v的矩阵.规定:k=0时,表示矩阵的主对角线k0时,表示主对角线的平行位置上方的第k层K v
3、=1 2 3 A=diag(v,0)B=diag(v,1)现在学习的是第6页,共37页例 随机生成数值在10到30之间的含5个元素的行向量7 10+(30-10)*rand(1,5)ans=25.8441 29.1898 23.1148 10.7142 26.9826现在学习的是第7页,共37页例 生成三对角矩阵8A=1 2 0 0 0 0 1 1 2 0 0 0 0 2 1 2 0 0 0 0 3 1 2 0 0 0 0 1 1 2 0 0 0 0 2 1 a1=ones(1,6)a2=2*ones(1,5)a3=1 2 3 1 2 A=diag(a1,0)+diag(a2,1)+diag(
4、a3,-1)现在学习的是第8页,共37页94.通过文件生成有时我们需要处理一些没有规律的数据,或数据量很大时,如在命令窗口输入,清除后再次使用需要重新输入,这就增加工作量.解决方案:直接把数据作为矩阵输入到M文件(Matlab的程序代码文件)中作为变量保存到MAT文件中 Save Filename var1 var2 var3 Load Filename现在学习的是第9页,共37页数组的生成:101.使用from:step:to生成数组 当step省略时,表示步长step=1当step为负数时,可以创建降序的数组除前面的矩阵输入外,还有 a=1:0.5:2a=1.0000 1.5000 2.0
5、000 b=1:3b=1 2 3 c=3:-1:1c=3 2 1现在学习的是第10页,共37页112.linspace(a,b,n)生成从a到b之间线性分布的n个元素的数组.如果n省略,则默认为100.3.logspace(a,b,n)生成从10a到10b之间按对数等分的n个元素的数组.如果n省略,则默认为50.a=linspace(1,9,5)a=1 3 5 7 9 b=logspace(1,5,3)b=10 1000 100000logspace(a,b,n)=10.linspace(a,b,n)现在学习的是第11页,共37页复数矩阵的输入12 A=1+2i 3+4i;5+6i 7+8i
6、A=1 3;5 7+i*2 4;6 8设A=1+2i 3+4i 5+6i 7+8i现在学习的是第12页,共37页矩阵元素操作1.MATLAB利用下标来访问矩阵中的元素,下标可以是向量.13设 A=1 2 3 4 5 6 7 8 9 b=A(2,3)b=6 c=A(1 2,2 3)c=2 3 5 6现在学习的是第13页,共37页2.如果在某个下标位置只有一个:号,则表示取对应的所有列或行.用end表示某一维数中的最大值.14设 A=1 2 3 4 5 6 7 8 9 b=A(2,:)b=4 5 6 c=A(:,2:3)c=2 3 5 6 8 9 d=A(1:2,end)d=3 6现在学习的是第1
7、4页,共37页3.用单下标来表示 即将矩阵的所有列按先左后右的次序接成“一维长列”,然后再对元素位置进行编号15设 A=1 2 3 4 5 6 7 8 9 A(4)ans=2 A(2:5)ans=4 7 2 5现在学习的是第15页,共37页4.矩阵的合并16A=1 2 3 4 5 6B=7 8 9 10C=11 12 13 A,Bans=1 2 3 7 8 4 5 6 9 10 A;Cans=1 2 3 4 5 6 11 12 13现在学习的是第16页,共37页5.通过空矩阵“”对矩阵元素进行删除17设 A=1 2 3 4 5 6 7 8 9 A(2,:)=A=1 2 3 7 8 9 A=A=
8、isempty(A)ans=1现在学习的是第17页,共37页矩阵的运算1.基本运算加(+):A+B,A+k(每个元素都加k)减(-):A-B,A-k乘(*):A*B左除():AB,即A-1B,A必须为方阵右除(/):A/B,即AB-1,B必须为方阵乘幂():An,A必须为方阵转置():transpose(A)或 A点运算(.):其加、减、乘、除和乘方都是对两个相同维数的矩阵进行对应元素的运算.18现在学习的是第18页,共37页19A=1 2 3 3 2 1 1 2 5B=-2 9 -15 6 15 -21 -6 11 -2例 已知求出AX=B和XA=B的解 ABans=2.0000 4.000
9、0 3.5000 1.0000 1.0000 -19.0000 -2.0000 1.0000 6.5000 inv(A)*Bans=2.0000 4.0000 3.5000 1.0000 1.0000 -19.0000 -2.0000 1.0000 6.5000 B/Aans=25.2500 -3.2500 -17.5000 30.7500 -0.7500 -22.5000 26.2500 -5.7500 -15.0000 B*inv(A)ans=25.2500 -3.2500 -17.5000 30.7500 -0.7500 -22.5000 26.2500 -5.7500 -15.0000
10、现在学习的是第19页,共37页20A=1 2 3 4 5 6B=7 8 -9 -1 -3 -2例 已知 A.*Bans=7 16 -27 -4 -15 -12 A./Bans=0.1429 0.2500 -0.3333 -4.0000 -1.6667 -3.0000 A.Bans=7.0000 4.0000 -3.0000 -0.2500 -0.6000 -0.3333 A.3ans=1 8 27 64 125 216现在学习的是第20页,共37页2.关系运算关系运算符:(小于)、(大于)、=(大于等于)、=(等于)、=(不等于)关于运算在对应元素之间进行,结果是一个二值矩阵,其中0表示“假”
11、,1表示“真”.21相关函数 I=find(A)返回矩阵A的非零元素的线性指标I J=find(A)返回矩阵A的非零元素的行、列指标,分别存于I和JA=1 0 0 4 find(A)ans=1 4 I J=find(A)I=1 2J=1 2现在学习的是第21页,共37页22 A=1 4 3 2;B=5 4 1 3;AB%比较A与B矩阵的元素大小,输出逻辑数值ans=0 0 1 0 x=find(A=B)%找出A与B中对应元素相等的下标x=2 A(find(A=B)%找出A和B中对应元素相等的元素ans=4例 现在学习的是第22页,共37页23例 找出以下矩阵中绝对值大于3的所有元素 A=zer
12、os(2,5);A(:)=-4:5A=-4 -2 0 2 4 -3 -1 1 3 5 L=abs(A)3L=1 0 0 0 1 0 0 0 0 1A=-4 -2 0 2 4 -3 -1 1 3 5 XL=A(find(L)XL=-4 4 5现在学习的是第23页,共37页3.逻辑运算逻辑运算符:&(与)、|(或)、(非)、xor(异或)、&(先决与)、|(先决或)24xyx&yxIyxxor(x,y)000010010111100101111100&:当该运算符的左边为1时,才执行右边的运算|:当该运算符的左边为0时,才执行右边的运算现在学习的是第24页,共37页25A=1 2 3 4B=4 3
13、 2 1例 设(AB)&(A=B)ans=0 0 0 0(AB)&(A1)ans=0 0 1 1(AB)|(A1)ans=0 1 1 1 xor(AB,A1)ans=0 1 0 0现在学习的是第25页,共37页4.其它一些常用矩阵函数size(A):返回矩阵的行数和列数size(A,1):返回行数size(A,2):返回列数length(a):返回向量a的长度reshape(A,m,n):重排矩阵A为m行n列矩阵,A必须为m*n个元素26A=1 2 3 4 5 6a=1 2 3 4 5 size(A)ans=2 3 size(A,2)ans=3 reshape(A,3,2)ans=1 5 4
14、3 2 6 length(a)ans=5现在学习的是第26页,共37页max(a):返回向量a的最大元素max(A,dim):返回矩阵沿着第dim维方向的最大元素向量max(A,B):返回矩阵A,B中对应位置上的较大元素min:返回最小元素,用法类似maxmean(a):返回向量a的平均值mean(A,dim):返回矩阵A第dim维方向上平均值median:返回中位数,用法类似meansum:求元素和,用法类似meanprod:求元素积,用法类似meancumsum:求元素累积和,用法类似meansort(a):对向量a进行升序排序sort(A,dim,mode):对矩阵A沿着第dim维方向排
15、序,mode:ascend(升序,默认)、descend(降序)27现在学习的是第27页,共37页28a=12 5 65 9 3 1A=1 2 3 4 5 6 max(A,1)ans=4 5 6 max(A,2)ans=3 6 max(A)ans=4 5 6 max(a)ans=65 min(a)ans=1现在学习的是第28页,共37页29a=12 5 65 9 3 1A=1 2 3 4 5 6 sum(a)ans=95 cumsum(a)ans=12 17 82 91 94 95 sum(A,1)ans=5 7 9 sum(A,2)ans=6 15 sum(A)ans=5 7 9现在学习的是
16、第29页,共37页30a=12 5 20 9 3 1A=1 2 3 4 5 6 prod(a)ans=32400 prod(A,1)ans=4 10 18 prod(A,2)ans=6 120 prod(A)ans=4 10 18现在学习的是第30页,共37页31a=12 5 20 9 3 1A=1 2 3 4 5 6 sort(a)ans=1 3 5 9 12 20 sort(a,ascend)ans=1 3 5 9 12 20 sort(a,descend)ans=20 12 9 5 3 1 sort(A,1)ans=1 2 3 4 5 6 sort(A,2)ans=1 2 3 4 5 6
17、 sort(A)ans=1 2 3 4 5 6现在学习的是第31页,共37页例 计算以下例子321.1+2+1002.1*2*1003.6+9+12+297+300 sum(1:100)ans=5050 prod(1:100)ans=9.3326e+157 sum(6:3:300)ans=15147阶乘:factorial(N)=prod(1:N)factorial(100)ans=9.3326e+157现在学习的是第32页,共37页33设 a=12 5 10 9 3 1A=1 2 3 4 5 6用多种方法求数组a的算术平均值,矩阵A每行的算术平均值 mean(a)ans=6.6667 sum
18、(a)/length(a)ans=6.6667 sum(a)/size(a,2)ans=6.6667 mean(A,2)ans=2 5 sum(A,2)/size(A,2)ans=2 5现在学习的是第33页,共37页34例 设a=91,98,50,75,69,88,利用sort函数求出排名第二大的数 a=91,98,50,75,69,88;b index=sort(a,descend)b=98 91 88 75 69 50index=2 1 6 4 5 3 a(index(2)ans=91 a=91,98,50,75,69,88;b=sort(a,descend)b=98 91 88 75 6
19、9 50 b(2)ans=91b=a(index)现在学习的是第34页,共37页35例 某农场饲养的动物所能达到的最大年龄为15岁,将其分为三个年龄组:第一组,05岁;第二组,610岁;第三组,1115岁.动物从第二个年龄组起开始繁殖后代,经长期统计:第二个年龄组的动物在其年龄段平均繁殖4个后代,第三个年龄组的动物在其年龄段平均繁殖3个后代,第一个年龄组和第二个年龄组的动物能顺利进入下一个年龄组的存活率分别为1/2和1/4.假设农场现有三个年龄段的动物各1000,问:5年、10年及15年后农场饲养的动物总数及农场三个年龄段的动物各将达到多少?现在学习的是第35页,共37页36分析 令x为05岁的动物数,y为610岁的动物数,z为1115岁的动物数,则写成矩阵形式得递推关系式现在学习的是第36页,共37页37 x0=1000;1000;1000;A=0 4 3;1/2 0 0;0 1/4 0;x1=A*x0 x1=7000 500 250 x2=A2*x0 x2=2750 3500 125 x3=A3*x0 x3=14375 1375 875现在学习的是第37页,共37页
限制150内