矩阵及基本运算课件

上传人:风*** 文档编号:241575468 上传时间:2024-07-05 格式:PPT 页数:37 大小:280.35KB
返回 下载 相关 举报
矩阵及基本运算课件_第1页
第1页 / 共37页
矩阵及基本运算课件_第2页
第2页 / 共37页
矩阵及基本运算课件_第3页
第3页 / 共37页
点击查看更多>>
资源描述
一、矩阵及基本运算1矩阵是MATLAB的基本运算对象数值(标量)可以看成11阶的矩阵向量(一维数组)可看成1n或n1阶的矩阵一、矩阵及基本运算1矩阵是MATLAB的基本运算对象矩阵的建立: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直接输入 a=1,2,3;4,5,6;732.用矩阵编辑器输入在命令窗口创建变量双击它打开矩阵编辑器在编辑器中输入或修改,完毕后关闭即可3用矩阵编辑器输入43.用矩阵函数创建矩阵zeros(m,n):mn阶零矩阵eye(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 14用矩阵函数创建矩阵A=ones(2,3)eye(5A=diag(v,k)生成主对角线方向上的第k(整数)层元素为向量v的矩阵.规定:k=0时,表示矩阵的主对角线k0时,表示主对角线的平行位置上方的第k层K v=1 2 3 A=diag(v,0)B=diag(v,1)例 利用函数生成矩阵6B=A=v=1 2 3例 随机生成数值在10到30之间的含5个元素的行向量7 10+(30-10)*rand(1,5)ans=25.8441 29.1898 23.1148 10.7142 26.9826例 随机生成数值在10到30之间的含5个元素的行向量7例 生成三对角矩阵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(a3,-1)例 生成三对角矩阵8A=a1=ones(1,6)94.通过文件生成有时我们需要处理一些没有规律的数据,或数据量很大时,如在命令窗口输入,清除后再次使用需要重新输入,这就增加工作量.解决方案:直接把数据作为矩阵输入到M文件(Matlab的程序代码文件)中作为变量保存到MAT文件中 Save Filename var1 var2 var3 Load Filename9通过文件生成数组的生成:101.使用from:step:to生成数组 当step省略时,表示步长step=1当step为负数时,可以创建降序的数组除前面的矩阵输入外,还有 a=1:0.5:2a=1.0000 1.5000 2.0000 b=1:3b=1 2 3 c=3:-1:1c=3 2 1数组的生成:10使用from:step:to生成数组 除前面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)11linspace(a,b,n)a=linspac复数矩阵的输入12 A=1+2i 3+4i;5+6i 7+8i A=1 3;5 7+i*2 4;6 8设A=1+2i 3+4i 5+6i 7+8i复数矩阵的输入12 A=1+2i 3+4i;5+6i矩阵元素操作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矩阵元素操作MATLAB利用下标来访问矩阵中的元素,下标可以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如果在某个下标位置只有一个:号,则表示取对应的所有列或行.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设 A=A(4)A(2:54.矩阵的合并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矩阵的合并16A=A,B5.通过空矩阵“”对矩阵元素进行删除17设 A=1 2 3 4 5 6 7 8 9 A(2,:)=A=1 2 3 7 8 9 A=A=isempty(A)ans=1通过空矩阵“”对矩阵元素进行删除17设 A=矩阵的运算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矩阵的运算基本运算1819A=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.0000 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.000019A=B=例 已知求出AX=B和XA=B的解 A20A=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 21620A=B=例 已知 A.*B A./B 2.关系运算关系运算符:(小于)、(大于)、=(大于等于)、=(等于)、=(不等于)关于运算在对应元素之间进行,结果是一个二值矩阵,其中0表示“假”,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相关函数 I=find(A)返回矩阵A的非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 A=1 4 3 2;B=5 4 1 3;例23例 找出以下矩阵中绝对值大于3的所有元素 A=zeros(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 523例 找出以下矩阵中绝对值大于3的所有元素 A=ze3.逻辑运算逻辑运算符:&(与)、|(或)、(非)、xor(异或)、&(先决与)、|(先决或)24xyx&yxIyxxor(x,y)000010010111100101111100&:当该运算符的左边为1时,才执行右边的运算|:当该运算符的左边为0时,才执行右边的运算逻辑运算24xyx&yxIyxxor(x,y)00001025A=1 2 3 4B=4 3 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 025A=B=例 设(AB)&(A=B)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 3 2 6 length(a)ans=5其它一些常用矩阵函数26A=a=size(A)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维方向排序,mode:ascend(升序,默认)、descend(降序)27max(a):返回向量a的最大元素2728a=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=128a=A=max(A,1)max(a29a=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 929a=A=sum(a)sum(A,1)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 1830a=A=prod(a)prod(A,1)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 sort(A)ans=1 2 3 4 5 631a=A=sort(a)sort(A,1)例 计算以下例子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例 计算以下例子321+2+100 sum(1:1033设 a=12 5 10 9 3 1A=1 2 3 4 5 6用多种方法求数组a的算术平均值,矩阵A每行的算术平均值 mean(a)ans=6.6667 sum(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 533设 a=A=用多种方法求数组a的算术平均值,矩阵A每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 69 50 b(2)ans=91b=a(index)34例 设a=91,98,50,75,69,35例 某农场饲养的动物所能达到的最大年龄为15岁,将其分为三个年龄组:第一组,05岁;第二组,610岁;第三组,1115岁.动物从第二个年龄组起开始繁殖后代,经长期统计:第二个年龄组的动物在其年龄段平均繁殖4个后代,第三个年龄组的动物在其年龄段平均繁殖3个后代,第一个年龄组和第二个年龄组的动物能顺利进入下一个年龄组的存活率分别为1/2和1/4.假设农场现有三个年龄段的动物各1000,问:5年、10年及15年后农场饲养的动物总数及农场三个年龄段的动物各将达到多少?35例 某农场饲养的动物所能达到的最大年龄为15岁,将36分析 令x为05岁的动物数,y为610岁的动物数,z为1115岁的动物数,则写成矩阵形式得递推关系式36分析 令x为05岁的动物数,y为610岁的动物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 87537 x0=1000;1000;1000;x3
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!