收藏 分销(赏)

MATLAB语言基础PPT文档.ppt

上传人:精*** 文档编号:8789235 上传时间:2025-03-02 格式:PPT 页数:45 大小:154.50KB
下载 相关 举报
MATLAB语言基础PPT文档.ppt_第1页
第1页 / 共45页
MATLAB语言基础PPT文档.ppt_第2页
第2页 / 共45页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第二章,MATLAB,语言基础,主要内容:,(1)概述,(2)创建向量,(3)创建矩阵,(4)向量和矩阵元素的索引(重点),(5),向量和矩阵的基本操作,(重点),(6)多维数组,1,(1)概述,数组:一组有序数的集合,下标是指数组元素在数组中的序号,每个元素有唯一的下标。,向量:,从编程语言的角度上看,向量其实就是一维数组;,从数学的角度上看,向量就是1,N,或者,N1,的矩阵,即行向量或列向量;,从物理意义上看,表示不仅有大小还有方向的量,与标量相对应。,2,矩阵:即线性代数中定义的矩阵的概念,一个二维的数据表,每个元素位于不同的行和列上,从编程语言的角度看,矩阵就是二维数组,。,MATLAB,的基本运算单位就是矩阵和向量,M,语言是向量化编程的语言。,MATLAB,中的向量和矩阵都是使用1下标,而不是,C,语言中的零下标。,MATLAB,中矩阵元素是按列存储的,,C,语言中是按行存储的。,3,(2)创建向量,直接输入法:,行向量元素之间用空格(不论个数)或者逗号隔开,列向量元素之间用分号隔开.,例:创建向量,a=1 3 5 8 9,a=,1 3 5 8 9,a=1,3,5,6,9,a=,1 3 5 6 9,b=1;5;6;8;9,b=,1,5,6,8,9,也可采用对行向量取转置的方法构造列向量,4,使用冒号运算符:,一般格式为,start:increment:end,分别表示初值、增量和终值。,例:,a=1:3:9,a=,1 4 7,增量可以为负数,a=10:-2:2,a=,10 8 6 4 2,增量缺省时默认为1,b=1:6,b=,1 2 3 4 5 6,冒号运算符可以与直接输入法混用,a=2 5 6:8,a=,2 5 6 7 8,5,使用向量生成函数,linspace,和,logspace,:,使用,linspace,生成线性空间向量,均匀间隔的一组数;,使用,logspace,生成对数空间向量,以10为底.,例:,a=,linspace,(1,10,6),a=,1.0000 2.8000 4.6000 6.4000 8.2000 10.0000,b=,logspace,(1,5,5)%,指数之间均匀间隔,b=,10 100 1000 10000 100000,6,使用数组编辑器:交互式输入法,比较直观。,还有其他办法吗?,从已有向量或矩阵中计算得到;,从外部文件读入;,7,(3)创建矩阵,直接输入法:一行中元素之间用逗号或者空格隔开,行与行之间用分号隔开。,例:,M=1 2 3;4 5 6;7 8 9,M=,1 2 3,4 5 6,7 8 9,M=1,2,3;4,5,6;7,8,9,M=,1 2 3,4 5 6,7 8 9,8,还可以分行输入矩阵元素,M=1 2 3,4 5 6,7 8 9,M=,1 2 3,4 5 6,7 8 9,9,使用矩阵生成函数:,zeros,ones,eye,rand,randn,magic,例:,全零矩阵,M=zeros(3,3),M=,0 0 0,0 0 0,0 0 0,全1矩阵,M=ones(3,4),M=,1 1 1 1,1 1 1 1,1 1 1 1,10,单位矩阵,M=eye(3,3),M=,1 0 0,0 1 0,0 0 1,01之间均匀分布的随机矩阵,rand,(3,4),ans,=,0.9501 0.4860 0.4565 0.4447,0.2311 0.8913 0.0185 0.6154,0.6068 0.7621 0.8214 0.7919,11,零均值、方差为1的高斯分布矩阵,M=randn(3,3),M=,0.1746 -0.5883 0.1139,-0.1867 2.1832 1.0668,0.7258 -0.1364 0.0593,魔方矩阵(每行每列以及对角线上元素之和相同),magic(4),ans,=,16 2 3 13,5 11 10 8,9 7 6 12,4 14 15 1,此外,还有范德蒙矩阵、希尔伯特矩阵、托普利兹矩阵、帕斯卡矩阵等。,12,使用数组编辑器:交互式输入法,比较直观。,还有其他办法吗?,从已有向量或矩阵中计算得到;,从外部文件读入;,13,(4)向量和矩阵元素的索引,一个元素的访问,例:,访问向量的一个元素,a=3 6 9 2 8;,a(2),%,访问第二个元素,单下标,ans,=,6,a(end),%,访问最后一个元素,单下标,ans,=,8,14,访问矩阵的一个元素,M=1 3 9;6 4 8;3 6 0,M=,1 3 9,6 4 8,3 6 0,M(2,2),%,双下标,ans=,4,M(6),%,单下标,ans=,6,M(end),%,访问最后一个元素,单下标,ans=,0,15,若干元素的访问(向量或者矩阵做下标),例:,访问向量的若干元素,a=3 6 8 2 4 1;,a(1:3)%,访问13个元素,单向量下标,ans,=,3 6 8,a(1 3 5)%,访问第1、3、5个元素,单向量下标,ans,=,3 8 4,a(end-1:end)%,访问最后两个元素,单向量下标,ans,=,4 1,16,访问矩阵的若干元素,M=3 6 8;3 4 5;1 2 6,M=,3 6 8,3 4 5,1 2 6,a(1 3;2 4)%,使用矩阵做下标,ans=,3 8,6 2,a(1:3,3:-1:1)%,重复访问向量元素,单向量下标,ans=,3 6 8 8 6 3,a(:)%,访问向量所有元素,ans=,3,6,8,2,4,1,17,M(1 2,2,3),%,访问第1、2行的第2,3列,双向量下标;,ans=,6 8,4 5,M(1:3,1:2),%,访问第13行的第12列,双向量下标,ans=,3 6,3 4,1 2,M(1 3 5)%,访问第1、3、5 个元素,单向量下标,ans=,3 1 4,18,M(1 3;2 4),%,矩阵做下标,ans=,3 1,3 6,M(:),%,访问矩阵的所有元素,ans=,3,3,1,6,4,2,8,5,6,向量可以做向量和矩阵的下标,矩阵也可以做向量和矩阵的下标,M(1,:),%,访问第1行的所有列,ans=,3 6 8,向量和矩阵做下标的访问方法也可以用来创建向量和矩阵,19,(5),向量和矩阵的基本操作,求向量长度和矩阵大小,元素个数,例:,a=1 3 6 8 4 5,a=,1 3 6 8 4 5,length(a),ans,=,6,20,M=1 2 3;4 5 6;7 8 9,M=,1 2 3,4 5 6,7 8 9,m,n=size(M),m=,3,n=,3,Matlab,里的函数可以有多个返回值,numel(M),ans=,9,21,矩阵的拼接和复制,例:,M=1 2;3 4,M=,1 2,3 4,N=5 6 7;8 9 10,N=,5 6 7,8 9 10,L=M,N,c=,1 2 5 6 7,3 4 8 9 10,repmat(M,2,2),ans=,1 2 1 2,3 4 3 4,1 2 1 2,3 4 3 4,22,矩阵的重组,reshape,例:,a=1:8,a=,1 2 3 4 5 6 7 8,M=reshape(a,2,4),M=,1 3 5 7,2 4 6 8,N=reshape(M,4,2),N=,1 5,2 6,3 7,4 8,重组的时候按列序,23,矩阵的翻转:,例:,M=1 2 3;4 5 6,M=,1 2 3,4 5 6,N=,fliplr,(M)%,左右翻转,N=,3 2 1,6 5 4,L=,flipud,(M)%,上下翻转,L=,4 5 6,1 2 3,24,行列删除:利用空数组,例:,M=1 2 3;4 5 6;7 8 9,M=,1 2 3,4 5 6,7 8 9,M(1,:)=%,删除第一行,M=,4 5 6,7 8 9,M(:,2)=%,再删除第二列,a=,4 6,7 9,25,N=3 6 9;2 8 4;6 5 1,N=,3 6 9,2 8 4,6 5 1,N(1:2,:)=,%,删除第1、2行,b=,6 5 1,26,矩阵的转置,实数矩阵,例:,M=1 2 3;4 5 6,M=,1 2 3,4 5 6,N=M,N=,1 4,2 5,3 6,%共轭转置,L=M.,L=,1 4,2 5,3 6,%转置,27,复数矩阵,例:,M=1+2i 2+3i;2+i 1-i,M=,1.0000+2.0000i 2.0000+3.0000i,2.0000+1.0000i 1.0000-1.0000i,N=M,N=,1.0000-2.0000i 2.0000-1.0000i,2.0000-3.0000i 1.0000+1.0000i,L=M.,L=,1.0000+2.0000i 2.0000+1.0000i,2.0000+3.0000i 1.0000-1.0000i,28,矩阵的加减乘除法,例:,M=1 2;3 4,M=,1 2,3 4,N=5 6;7 8,N=,5 6,7 8,L=M+N,L=,6 8,10 12,F=M-N,F=,-4 -4,-4 -4,29,K=M*N,%,矩阵乘法,满足矩阵乘法的规则,K=,19 22,43 50,G=M.*N,%,点乘(数组乘),对应元素相乘,G=,5 12,21 32,H=M./N,%,点除(数组除),对应元素相除,H=,0.2000 0.3333,0.4286 0.5000,30,方阵的行列式,例:,M=1 3 5;2 8 1;3 2 1,M=,1 3 5,2 8 1,3 2 1,det,(M),ans,=,-91,31,方阵求逆,例:,M=1 3 5;2 8 1;3 2 1,M=,1 3 5,2 8 1,3 2 1,N=inv(M),N=,-0.0659 -0.0769 0.4066,-0.0110 0.1538 -0.0989,0.2198 -0.0769 -0.0220,32,矩阵的伪逆,当,A,不是方阵或者是方阵但其行列式值为零的时候,矩阵,A,没有逆矩阵,但有逆矩阵,B,,使得,A*B*A=A,B*A*B=B,求伪逆的命令为,pinv,33,矩阵的秩,例:,M=1 2 3;2 4 6;2 8 4,M=,1 2 3,2 4 6,2 8 4,rank(M),ans,=,2,34,矩阵的特征值,例:,M=1 2 3;2 4 6;2 8 4,M=,1 2 3,2 4 6,2 8 4,eig,(M),ans,=,11.8655,-0.0000,-2.8655,35,矩阵的迹,矩阵的迹等于矩阵对角线元素之和,也等于矩阵特征值之和;,求矩阵迹的命令是,trace,36,基本数学函数运算,三角函数,sin,cos,asin,acos,tan,cot,atan,acot,例:,M=,12 23 62,20 31 2,21 14 15,sin(M),ans,=,-0.5366 -0.8462 -0.7392,0.9129 -0.4040 0.9093,0.8367 0.9906 0.6503,三角函数计算时采用弧度值,37,指数对数运算,exp,power,log,log10,sqrt,例:,M=1 3 5;2 5 6;2 4 1,M=,1 3 5,2 5 6,2 4 1,exp(M),ans=,2.7183 20.0855 148.4132,7.3891 148.4132 403.4288,7.3891 54.5982 2.7183,38,M=1 3 5;2 5 6;2 4 1,M=,1 3 5,2 5 6,2 4 1,power(M,2),ans=,1 9 25,4 25 36,4 16 1,log(exp(M),ans=,1 3 5,2 5 6,2 4 1,sqrt(power(M,2),ans=,1 3 5,2 5 6,2 4 1,39,取整、求模、求余,例:,M=-1.5 1.2 1.6;6.2 3.8-8.4,M=,-1.5000 1.2000 1.6000,6.2000 3.8000 -8.4000,floor(M)%,向下取整,ans,=,-2 1 1,6 3 -9,ceil,(M)%,向上取整,ans,=,-1 2 2,7 4 -8,round(M),ans=,-2 1 2,6 4 -8,%四舍五入,fix(M),ans=,-1 1 1,6 3 -8,%向零取整,40,N=-5-8 9;2 6 4,N=,-5 -8 9,2 6 4,mod(N,2),ans=,1 0 1,0 0 0,rem(N,2),ans=,-1 0 1,0 0 0,M=3 5 8;9 6 7,M=,3 5 8,9 6 7,mod(M,3)%,求模,ans=,0 2 2,0 0 1,rem(M,3)%,求余,ans=,0 2 2,0 0 1,求模和取余也可以对浮点数进行操作,41,符号函数,例:,M=5-1 0;6-8-5,M=,5 -1 0,6 -8 -5,sign(M),ans,=,1 -1 0,1 -1 -1,除了基本数学函数(作用与矩阵各元素)外,还有一些直接作用于矩阵的超越函数如,sqrtm,logm,expm,等。,42,(6)多维数组,以三维数组为例,第一维称为行,第二维称为列,第三维称为页,逐页创建,M(:,:,1)=1 2;3 4;,M(:,:,2)=5 6;7 8;,M(:,:,3)=9 10;11 12;,43,M,M(:,:,1)=,1 2,3 4,M(:,:,2)=,5 6,7 8,M(:,:,3)=,9 10,11 12,44,利用,cat,命令,M=1 2;3 4;,N=5 6;7 8;,cat(3,M,N),ans(:,:,1)=,1 2,3 4,ans(:,:,2)=,5 6,7 8,例如:一幅彩色图像就是一个三维数组,每一页代表,RGB,分量中的一个。,imread:,图像读取,imshow:,图像显示,45,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服