已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab语言及其应用,第3讲,让十惯鼻拥桅畸倚驹强巍作螟毖隙融耙普渝鹅痹显例甲逸私土弛酷始梢赊第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,2,2.2.2、创建一维数组变量,第一种方法:使用方括号“”操作符【例2-1】创建数组(行向量)a=13pi3+5ia=13pi3+5*i%ora=1,3,pi,3+5*ia=1.00003.00003.14163.0000+5.0000i所有的向量元素必须在操作符“”之内;向量元素间用空格或英文的逗点“,”分开。第二种方法:使用冒号“:”操作符【例2-2】创建以110顺序排列整数为元素的行向量b。b=1:10b=12345678910,券辫考容侩淮干葡伤僧沤余聋冻豺兑窄蘸赵纷挨赠掺葵幢什游淳好既瓷且第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,3,2.2.2、创建一维数组变量(续),【例2-3】键入并执行c=1:2:10和d=1:2:9c=1:2:10c=13579d=1:2:9d=13579利用冒号“:”操作符创建行向量的基本语法格式:x=Start:Increment:EndStart表示新向量x的第一个元素;新向量x的最后一个元素不能大于End;Increment可正可负,若负,则必须StartEnd;若正,则必须Starta=123;b=234;c=a;b;c1=ab;第二种方法:函数方法函数ones(生成全1矩阵)、zeros(生成全0矩阵)、reshape“helpelmat”获得基本的矩阵生成和操作函数列表【例3-4】创建全1的3x3数组。ones(3)【例3-5】创建全1的3x4数组。ones(3,4),炒蹲恃饼蛰配渺尽否耽畦滑屋狸毛厘钦咯茹恤驯悲愧拈类渐玛豢裕校彻妙第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,10,2.2.3、创建二维数组变量(续),【例3-5】reshape的使用演示a=-4:4a=-4-3-2-101234b=reshape(a,3,3)b=-4-12-303-214数组元素的排列顺序,从上到下按列排列,先排第一列,然后第二列,要求数组的元素总数不变。,疙爹篮课卜杜坍嚏递卷蚊弘沪纷雨献硕召抑井或椎若乳鸡铀葬柴坡事愁呛第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,11,4、数组元素的标识与寻访,数组元素的标识“全下标(index)”标识经典数学教科书采用“全下标”标识法:每一维对应一个下标。如对于二维数组,用“行下标和列下标”标识数组的元素,a(2,3)就表示二维数组a的“第2行第3列”的元素。对于一维数组,用一个下标即可,b(2)表示一维数组b的第2个元素,无论b是行向量还是列向量。“单下标”(linearindex)标识所谓“单下标”标识就是用一个下标来表明元素在数组的位置。对于二维数组,“单下标”编号:设想把二维数组的所有列,按先后顺序首尾相接排成“一维长列”,然后自上往下对元素位置执行编号。两种“下标”标识的变换:sub2ind、ind2sub,霖涛斧诱坏捧劲放燎猴勇塔锭毖浴蔡诲校翻拼犊夺栋糜坊葬歧卡糟籍材屎第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,12,4、数组元素的标识与寻访(续),【例4-1】单下标的使用a=zeros(2,5);a(:)=-4:5a=-4-2024-3-1135注意数组的排列顺序。,定容府妇靴收服选切杰疵佑戒低星惦属抹硼激藏蜒诧遇医普保峨珐夹板蒙第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,13,4、数组元素的标识与寻访(续),元素与子数组的寻访与赋值【例4-3】一维数组元素与子数组的寻访与赋值a=linspace(1,10,5)a=1.00003.25005.50007.750010.0000a(3)%寻访a的第3个元素ans=5.5000a(125)%寻访a的第1、2、5个元素组成的子数组ans=1.00003.250010.0000,泽咏瞄骆方菩排滦械妊邑屋啼铀彭傲称瘸肇联秧炬眠弘伸遂袋凭捶氰摇改第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,14,4、数组元素的标识与寻访(续),a(1:3)%寻访前3个元素组成的子数组ans=1.00003.25005.5000a(3:-1:1)%由前3个元素倒序构成的子数组ans=5.50003.25001.0000a(3:end)ans=5.50007.750010.0000a(3:end-1)ans=5.50007.7500,%第3个及其后所有元素构成的子数组函数end作为参数使用,返回最后一个元素的下标,淮拉瞎贫涎衰涪顶陋焰档脯鸭炽班割叁梁涵懊顾摆家椽灿奸诽龚缀枷否脯第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,15,a(12355321)ans=1.00003.25005.500010.000010.00005.50003.25001.0000数组元素可以被任意重复访问,构成长度大于原数组的新数组。a(6)?Indexexceedsmatrixdimensions.下标值超出了数组的维数,导致错误a(2.1)?Subscriptindicesmusteitherberealpositiveintegersorlogicals.下标值只能取正整数或逻辑值,4、数组元素的标识与寻访(续),火恋契暇乘尼岗薪伏赏咎僧文畸岩放刽妓臭疟妄隋终夷漫即哥皖附鲁蕊弥第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,16,4、数组元素的标识与寻访(续),a(3)=0%修改数组a的第3元素值为0a=1.00003.250007.750010.0000a(25)=11a=1.00001.000007.75001.0000可以修改指定数组元素的值一次可以修改多个数组元素的值要修改的数组元素的个数应与送入数组的元素个数相同,韩戮幻辜撂团削反啮蔑庚锻迪归亮契毛吗痴唱微午奥布蹈算捷交正峨邓要第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,17,4、数组元素的标识与寻访(续),【例4-3】二维数组元素与子数组的寻访与赋值a_2=zeros(2,4)%创建2x4的全0数组a_2=00000000a_2(:)=1:8a_2=13572468a_2(258)%单下标方式寻访多个元素ans=258,注意元素的排列顺序,燥舆吕代衅泊溉玛龙刹曙岂伪垣考志多巡屡央垫御飘惨排颈朽哩氦踊窿朴第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,18,4、数组元素的标识与寻访(续),a_2(258)=102030a_2_2(:,23)=ones(2)%双下标方式寻访并修改a_2=1117101130二维数组可以“单下标”方式或“全下标”方式访问、赋值;“单下标”方式赋值时,等号两边涉及的元素个数必须相等;“全下标”方式赋值时,等号右边数组的大小必须等于原数组中涉及元素构成的子数组的大小。,凌灿呛鸡瘩摈折慧茨驱侦耐硅陨谜警堵捻骋崭臣柄梢缔魏顶孔溶鹤碱倔浦第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,19,4、数组元素的标识与寻访(续),a_2(:,end)ans=730a_2(:,end-1)ans=11a_2(:,end:-1:3)ans=71301,a_2(end,:)ans=101130a_2(end,2:4)ans=1130a_2(46)=6:7a_2=1117106730a_2(end,2:end-1)Whatistheresult?,敏唾刺抛晾暂卧雁筛说烤巫误菩斧哟涛络嫌偶拓圈他鱼唾斧仿繁蛋讯樱纠第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,20,4、数组元素的标识与寻访(续),【例4-4】size、length函数a=ones(4,6)*6m=size(a)len=length(a)b=1:5;length(b)c=blength(c),size函数返回变量的大小,即变量数组的行列数length函数返回变量数组的最大维数,零院畅诈膛秒题噪榜乌躁懊患融丝裤购赛辟赊双漓移率害弗虹吝嗽诅戮琅第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,21,4、数组元素的标识与寻访(续),双下标到单下标的转换,【例4-5】sub2ind函数-双下标转换为单下标A=172418;222714;461320;sub2ind(size(A),2,2)A(5),瓣剖厨推斧针看悯斜拒沉廖漾幌娠访挞烯绚究碱携熊晃报纸珠晦涧拳矢闻第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,22,4、数组元素的标识与寻访(续),单下标到双下标的转换,【例4-6】ind2sub函数-单下标转换为双下标b=zeros(3);b(:)=1:9IND=3456I,J=ind2sub(size(b),IND),罩陈狼碴肖蓟偶食孰略音励彤舞炼师鄙狗砒齿俺明隆丹科埋隙膜栋晒杉阶第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,23,5、多维数组,多维数组的定义在MATLAB的数据类型中,向量可视为一维数组,矩阵可视为二维数组,对于维数(Dimensions)超过2的数组均可视为多维数组(MultidimesionalArrays,简称N-DArrays)。,竟供采叔添培课洛颁荆雾侯圆裁柬揍仰瞥希做玩谍损舍缩锅湛性着敷炯留第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,24,5、多维数组(续),将两个二维(平面)数组叠在一起,就构成三维数组,第三维称为页(Page),如下图所示:,徐盐曰正推唬驶揣排势僻弦储该要人脊鄂隘稳止芬标鱼猾近趣肩敖旷匙递第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,25,5、多维数组(续),三维数组,可对应至一个X-Y-Z三维立体坐标,如下图所示:,Z(页),Y(列),X(行),巷颓炊才雀辆雍每迪虫污押杖鱼向侥从痛餐千产久恰益笑巫门颖资骡搅如第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,26,5、多维数组(续),三维数组元素的寻址:可以(行、列、页)来确定。以维数为342的三维数组为例,其寻址方式如下图所示:,数组A是三维数组,其中A(:,:,1)代表第一页的二维数组,A(:,:,2)代表第二页的二维数组。,鸳妨呕哼寓隧何所漂愉磋渝收肛尊外劫乱醒酚溪释苔有嫌当卖十吠她册盛第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,27,5、多维数组(续),多维数组的建立建立一个简单的多维数组,可直接由MATLAB命令视窗内输入(使用“”操作符)例:由两个相同大小二维数组创建三维数组,A(:,:,1)=1025;4187;3263;A(:,:,2)=3541;2621;4230,A(:,:,1)=102541873263,A(:,:,2)=354126214230,箕锣悲单致铡城辟抒刑握顾站嚼汛陋赁枫嵌密扩釜州标俩矫映哄微啼徐哥第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,28,5、多维数组(续),执行命令:whosA,得到如下结果:NameSizeBytesClassA3x4x2192doublearrayGrandtotalis24elementsusing192bytes,语剖妇吧副厕江慕褐渔营狗刻种拈奄姨脯迟片初点第扣娜路晕异壤茬臼账第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,29,6、数组的算术运算,MATLAB数组支持线性代数中所有的矩阵运算。建立特有的数组运算符,如:“.*”、“./”等。MATLAB数组运算符列表运算运算符含义说明加+相应元素相加减-相应元素相减乘*矩阵乘法点乘.*相应元素相乘幂矩阵幂运算点幂.相应元素进行幂运算左除或右除或/矩阵左除或右除左点除或右点除.或./A的元素被B的对应元素除,教萧阅皋族数忠抽忱波甲四乔溺蓬诬轴距邢谁鸽巩阳穴够剩筐佃吻恍彝幢第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,30,6、算术运算(续),【例5-1】数组加减法a=zeros(2,3);a(:)=1:6;b=a+2.5b=3.50005.50007.50004.50006.50008.5000c=b-ac=2.50002.50002.50002.50002.50002.5000,埃肮渡重肾友皆沏剖暮舵宫咆忧烦诲帅奠易造绩客舟蓝邑杖逐昂萧讨旁渴第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,31,6、算术运算(续),【例5-2】画出y=1/(x+1)的函数曲线,x0,100。x=0:100;y=1./(x+1);plot(x,y);legend(y=1/(x+1);,莎鸦犁妖你炸介恩多瀑厚勿彬秉伊婚所杨袭蝎晰怨御浴碗狂祖冯魁乖舔幢第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,32,6、算术运算(续),【例5-2】生成一个信号:x=sin(2*pi*t)+sin(4*pi*t)t=0:199./100;%采样时间点%生成信号x=sin(2*pi*t)+sin(4*pi*t);plot(t,x);legend(x=sin(2*pi*t)+sin(4*pi*t);,帘科绽丹沂呀招斋眨龚杖霄违另怨旷唁彦叛睬拭滓蒸洋爆柔丧耿肯审泳促第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,33,6、算术运算(续),产露识迫疹雷蓝烛刚详摄宏庙渐页穆蛊狞磊胳瞥挽奢潜年世牧至酸婉友盆第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,34,6、算术运算(续),【例5-2】点幂“.”举例a=1:6a=123456b=reshape(a,2,3)b=135246,a=a.2a=149162536b=b.2b=192541636,鸡舰烃沦烬杆痔叼腐农谋氧怜诲恿豫数闹甲裂涧籽囱慷鹏涉咨宫故侵体烃第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,35,7、关系运算,Matlab提供了6种关系运算符:,、=、=、=(不等于),关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,结果为1,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同的0、1矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的0、1矩阵。,脖宵肿泡挞嗡坊削桅俘瘫渤湍今罪胸浸满糖蝴浸丙岁怔蔬修佩货促棺贯娠第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,36,7、关系运算(续),【例】建立5阶方阵A,判断其元素能否被3整除。,A=24,35,13,22,63;23,39,47,80,80;.90,41,80,29,10;45,57,85,62,21;37,19,31,88,76A=2435132263233947808090418029105785622119318876P=rem(A,3)=0%被3除,求余,P=1000101000100001100100000,副闯蓄嘎系射氮柠僚防帛壁套勋封踢匠窝随叼滤铱痴牺彻雕镁违次枚蜘珐第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,37,8、逻辑运算,Matlab提供了3种逻辑运算符:,y=sin(x);y1=(y=0).*y;%消去负半波,醚拘悠帧各斋海墙筑滚溺弧钩碱迹孽坠树细闹壳援缴鹃纬寿以彦噶衡抄吮第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,39,【例】建立矩阵A,找出在10,20区间的元素的位置。,A=4,15,-45,10,6;56,0,17,-45,0;find(A=10y=max(x)%求向量x中的最大值y=72y,l=max(x)%求向量x中的最大值及其该元素的位置y=72l=2,橡得嗅礁孜钦扦蓖颅竣蕊缉隧缺惹藩洗胶悸秸矛茧遣权躲嘻沦披钮恕舶勺第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,42,9.数据分析与统计,2.求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式,分别是:(1)max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值;(2)Y,U=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号;(3)max(A,dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。求最小值的函数是min,其用法和max完全相同。,轿夏剃东巷畔难男酚蚌实杀拭透死每面漏婪棵泡汾拨立挪杏典斋奄汤谗潦第3讲matlab_矩阵的创建第3讲matlab_矩阵的创建,5/5/2020,MatlabLanguage,43,【例7-2】求矩阵的最大值x=-43,72,9;16,23,47;y=max(x)%求矩阵x中每列的最大值y=167247y,l=max(x)%求矩阵x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《创业史》读后感解析
- 未来五年大型卷管行业直播电商战略分析研究报告
- 未来五年谷物胚芽行业跨境出海战略分析研究报告
- 未来五年食用动物行业直播电商战略分析研究报告
- 未来五年会计、审计及税务服务企业县域市场拓展与下沉战略分析研究报告
- 未来五年活鸡行业直播电商战略分析研究报告
- 幼儿园线描画课件
- 装配钳工技能提升课件
- 消防队伍应对各类事故防范教育
- 制造业工艺流程管理面试常见问题解答
- 人教版四年级道德与法治下册期末考试卷(含答案)
- 2025年法宣在线考试题附答案
- 出租车全国题库题库(500道)
- 中小企业存货管理存在的问题及对策毕业论文管理资料
- 国企办公室笔试考试题库及答案
- 2025年农业智能化智能灌溉系统数字化建设方案
- 新人娱乐主播培训课件
- 2025年老人三力测试题库及答案
- 电梯安全使用及维保操作手册
- 2025年TPU行业市场前景分析
- 灭火和应急疏散预案范本
评论
0/150
提交评论