版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章数组和数组运算MATLABR2007基础教程
清华大学出版社教学目标教学重点教学内容2/6/20231教学目标掌握数组的创建方法掌握数组的查找、寻址及排序掌握数组的运算数组的裁剪与扩展了解多维数组及其操作2/6/20232教学重点数组的创建方法数组的查找数组寻址数组排序数组运算数组的扩展与裁剪多维数组及其操作2/6/20233教学内容数组的创建方法数组的查找数组寻址数组排序数组运算数组的扩展与裁剪多维数组及其操作2/6/20234数组的创建方法(1/3)一维数组的创建要想在MATLAB中创建一个一维数组,用户只需先输入一个左方括号,然后输入每个数值并用逗号(或者空格)隔开,最后用一个右方括号结束。常用等差、等比数组的创建方法。2/6/20235数组的创建方法(2/3)二维数组的创建创建二维数组与创建一维数组的方式类似。在创建二维数组时,用逗号或者空格区分同一行的不同元素,用分号或者软回车(Shift+Enter)区分不同行。2/6/20236数组的创建方法(3/3)用其他方式生成数组等差数组的生成在MATLAB中,可以利用冒号生成等差数组。格式为:数组名=[开始数字:公差:结束数字],公差默认为1。用数组生成函数生成数组eye:生成单位矩阵linspace:生成线性分布的向量rand:生成随机数组,数组元素值均匀分布2/6/20237数组的查找数组的查找函数是find,它能够查找数组中的非零数组元素,并返回其数组索引值。find函数在MATLAB中的使用语法形式:(1)a=find(A)返回数组A中非零元素的单下标索引(2)[a,b]=find(A)返回数组A中非零元素的双下标索引放方式。2/6/20238数组寻址在MATLAB中,数组寻址是通过对数组下标的访问来实现的。
a=[1,0.2,3,0.5,0.9,7.6,5]a(3),a(5)如果需要访问数组种的多个数据,可以通过下标数组进行a([135])a(1:2:7)a(2:2:end)2/6/20239数组排序----sort()在很多时候我们需要对一个给定的数据向量进行排序。为完成这一操作,MATLAB提供了sort函数,该函数将任意给定的序列进行排序。sort函数的调用格式有:B=sort(A)B=sort(A,dim)B=sort(...,mode)[B,IX]=sort(...)其中的B为保存结果的数组;A为待排序的数组,当A为多维数组时,用dim指定需要排序的维数(默认为1);mode为排序的方式,可以取值“ascend”和“descend”,分别表示升序和降序,默认为升序;IX用于存储排序后的下标数组。2/6/2023103.3数组运算内容:数组的数值运算数组的加减法数组的乘除法数组的乘方数组的关系运算数组2/6/202311数组的加减法数组加减法为数组元素的加减法,与矩阵加减法相同。利用运算符“+”和“-”实现该运算。需要注意的是相加或相减的两个数组必须有相同的维数,或者是数组与数值相加减。2/6/202312数组的乘除法数组乘除为元素的乘除,通过运算符“.*”和“./”来实现。运算时需要两个数组有相同的维数,或者数组与数值相乘除。注意:在进行除法操作时,作为分母的数组中不能包含0元素。2/6/202313数组的乘方数组乘方用符号“.^”实现。数组乘方运算以三种方式进行。底为数组,指数为标量的形式。这种形式的结果是将数组的每个元素进行指数相同的乘方。返回的结果为与底维数相同的数组,结果数组的每个元素为底中相应元素的乘方。A=[1:3;2:4;3:5],A.^22/6/202314数组的乘方数组乘方用符号“.^”实现。数组乘方运算以三种方式进行。底为标量,指数为数组的形式。该形式返回的结果为数组,维数与指数数组相同。结果数组的每个元素为底以指数数组相应元素为指数做乘方的结果。A=[1:3;2:4;3:5],2.^A2/6/202315数组的乘方数组乘方用符号“.^”实现。数组乘方运算以三种方式进行。底和指数都是数组的形式。此时两个数组需要有相同的维数。返回结果为一个数组,维数与前面两个数组相同,每个元素为底数数组和指数数组做乘方的结果。
A=[123;456],B=[321;123],A.^B2/6/202316数组的关系运算两个数之间的关系通常有6种描述:小于(<)、大于(>)、等于(==)、小于等于(<=)、大于等于(>=)和不等于(~=)。MATLAB在比较两个元素大小时,如果表达式为真,则返回结果1,否则返回0。在MATLAB中,可以通过关系运算符实现数组的关系运算。返回结果为一个数组,结果数组的元素为0或者1,由相互比较的两个数组的相应元素的比较结果决定。2/6/2023173.4数组的扩展与裁剪数组编辑器扩展数组索引扩展数组Cat函数扩展数组冒号操作符裁剪数组数组元素的删除2/6/202318数组编辑器扩展数组双击MATLAB界面工作区中的任一数组变量,都能打开数组编辑器,对该数组进行编辑操作2/6/202319索引扩展数组索引扩展是数组扩展中较为常用的一种方法。比如目前有一个n行m列的数组A,要通过索引来扩展该数组,那么可以使用超出目前数组尺寸的索引数字,来制定数组A当前尺寸之外的一个位置,并对该位置的数组元素进行赋值来完成对数组的扩展。同时未指定的新添位置上默认赋值为0。A=rand(4),A(5,6)=23;2/6/202320cat函数扩展数组cat系列函数包括:cat,horzcat和vertcat。不管哪个连接函数,都必须保证被操作的数组可以被连接,即在某一个方向上尺寸一致。
cat函数语法:Z=cat(dim,A,B,C,…)horzcat函数语法:Z=horzcat(A,B,C…)相当于Z=cat(2,A,B,C,…)或z=[ABC...]vertcat函数语法:Z=vertcat(A,B,C…)相当于Z=cat(1,A,B,C,…)或z=[A;
B;C;...]2/6/202321冒号操作符裁剪数组冒号裁剪符的使用方法是:
Z=A([,,…],[,,…])该式子表示的是提取数组A的,…等行,,…等列,组成一个新的数组。此外,在数字索引访问数组的时候,当某一索引值的位置上不是数字,而是冒号的话,则表示取这一个索引位置的所有数组元素。比如对一个3行3列的数组A,A(1,:)表示取数组A的第一行所有元素。也可以通过数组编辑器来裁剪数组2/6/202322数组元素的删除删除数组元素,可以通过将该位置的数组元素赋值为空方括号([])即可,一般配合冒号使用,将数组中的某些行、列元素删除。不过需要注意的是,在进行数组元素的删除时,索引结果必须是完整的行或列,而不能是数组内部的块或者单元格。2/6/202323多维数组从MATLAB5开始,MATLAB开始支持多维数组。MATLAB对多维数组的操作与一维和二维数组相同。目前,对于多维数组,最常用的为三维数组。三维数组在图像处理中有着非常广泛的应用。三维数组的第三维称为“页”,即一个三维数组由行、列和页组成,其中每一页包含一个由行和列构成的二维数组,并且每一页的二维数组必须有相同的维数。2/6/202324多维数组的创建多维数组无法像一维数组和二维数组那样一次输入全部值。因此需要借助一些函数来生成多维数组。利用标准数组函数生成多维数组。利用直接索引方式生成数组
A(:,:,1)=rand(3,4);A(:,:,2)=rand(3,4);A通过cat函数创建多维数组cat函数用于连接数组。2/6/202325多维数组运算多维数组的基本运算与一维数组和二维数组相同,另外有一些操作仅可以用于多维数组,多维数组中的一些常用函数如表所示。函数描述ones(r,c,…)oeros(r,c,…)rand(r,c,…)randn(r,c,…)创建多维数组的基本函数,分别用于创建全1、全0、随机均匀分布数组和随机正态分布数组reshape(B,2,3,3)reshape(B,[2,3,3])将一个数组变形为一个任意维数的数组repmat(C,[1,1,3]将一个数组复制成一个任意维数的数组cat(3,a,b,c)沿着一个指定的维将数组连接起来squeeze(D)删除大小等于1的维,也就是单一维sub2ind(size(F),1,1,1)[r,c,p]=ind2sub(size(F),19)将下标转化为单一索引值,或将单一索引值转化为下标flipdim(M,1)沿着一个指定的维轮换顺序。等效于二维数组中的
flipud
和
fliplrshiftdim(M,2)循环轮换。第二个参数为正的话,进行各维的循环轮换;第二个参数为负的情况下,将使数组的维数增加permute(M,,[2,1,3])ipermute(M,,[2,1,3])多维数组的转置和取消转置操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西赣州市章贡区教育事业发展中心招募见习生笔试参考题库及答案详解
- 2026年沈阳市苏家屯区街道办人员招聘笔试模拟试题及答案解析
- 2026浙江台州市国有资本运营集团有限公司所属企业招聘4人笔试备考题库及答案详解
- 2026四川长虹新能源科技股份有限公司招聘外贸营销主管岗位1人笔试参考题库及答案详解
- 2026届【全国百强校首发】河北省武邑中学中考三模语文试题含解析
- 2026湖南益阳桃江县产业发展投资集团有限公司招聘4人笔试参考试题及答案详解
- 2026浙江台州市属国企联合招聘(第一批)台州市交通投资集团有限公司及其所属企业招聘7人笔试备考题库及答案详解
- 2026年福建泉州晋江市国际商会公开招聘工作人员笔试参考题库及答案详解
- 2026湖南怀化市中方县国有粮油购销有限公司招聘2人笔试参考试题及答案详解
- 2026年广东省深圳市街道办人员招聘笔试参考试题及答案解析
- 2024-2025学年四川省成都市石室联中教育集团八年级(下)期中数学试卷
- 国开2026年《公共政策概论》形成性考核任务1-4答案
- 消防工程从入门到精通
- YDT 5102-2024 通信线路工程技术规范
- 福建省危险性较大的分部分项工程安全管理标准
- ic m710说明书中文版
- Wagstaff低液位自动控制铸造
- GB/T 9787-1988热轧等边角钢尺寸、外形、重量及允许偏差
- 统编版小学语文小升初专项训练 汉语拼音选择题
- 沙漠掘金(经典版)-沙漠掘金攻略
- 教科版四年级科学下册3《观察土壤》优质教案(2套)
评论
0/150
提交评论