欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    MATLAB数组和数组运算.ppt

    • 资源ID:80451713       资源大小:279.49KB        全文页数:26页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB数组和数组运算.ppt

    Hefei University of TechnologyInstitute of Sound and Vibration ResearchMATLAB 数组和数组运算MATLAB数组数组 MATLAB的一个重要功能是能够进行向量和矩阵运的一个重要功能是能够进行向量和矩阵运算,算,MATLAB中的多数功能也是基于向量和矩阵运算。中的多数功能也是基于向量和矩阵运算。因此,矩阵在因此,矩阵在MATLAB中具有非常重要的位置。在中具有非常重要的位置。在MATLAB中向量和矩阵主要由数组表示,数组是中向量和矩阵主要由数组表示,数组是MATLAB的核心数据结构。的核心数据结构。数组是计算机编程语言上对一组数的通称,矩阵和向数组是计算机编程语言上对一组数的通称,矩阵和向量是数学上的概念。量是数学上的概念。数组包括矩阵和向量,一维数组是向量,二维数组是数组包括矩阵和向量,一维数组是向量,二维数组是矩阵。所以,矩阵是数组的子集。矩阵。所以,矩阵是数组的子集。2MATLAB 数组的创建数组的创建一维数组一维数组 MATLAB一维数组的创建主要包括一维行向量和一维一维数组的创建主要包括一维行向量和一维列向量的创建。创建一维行向量和一维列向量主要的区列向量的创建。创建一维行向量和一维列向量主要的区别在于创建数组时,数组元素是按照行排列还是按照列别在于创建数组时,数组元素是按照行排列还是按照列排列。排列。一维行向量:把所有数组元素用空格或者逗号分隔,一维行向量:把所有数组元素用空格或者逗号分隔,并用方括号把所有数组元素括起来。并用方括号把所有数组元素括起来。一维列向量:把所有数组元素用分号分隔,并用方括一维列向量:把所有数组元素用分号分隔,并用方括号把所有数组元素括起来。号把所有数组元素括起来。3MATLAB 数组的创建数组的创建一维数组一维数组 等差数组的创建等差数组的创建 利用冒号生成等差数组利用冒号生成等差数组,格式格式 Start_valStart_val:StepStep:Stop_valStop_val Start_val Start_val表示等差数组的第一个元素表示等差数组的第一个元素 StepStep表示步长,步长为正代表递增,步长为负,代表示步长,步长为正代表递增,步长为负,代 表递减,表递减,默认为默认为1 1 Stop_valStop_val表示等差数组的最后一个元素表示等差数组的最后一个元素 linspace linspace函数函数 :linspace(Start_val,Stop_val,N),linspace(Start_val,Stop_val,N),默认默认N=100N=100 等比数组的创建等比数组的创建 logspacelogspace函数函数 :logspace(Start_val,Stop_val,N),logspace(Start_val,Stop_val,N),默认默认N=50N=50 产生产生10Start_val10Start_val到到10Stop_val10Stop_val包含包含N N个元素的等比数组个元素的等比数组4MATLAB 数组的创建数组的创建二维数组二维数组 创建二维数组与创建一维数组的方式类似。在创建二维创建二维数组与创建一维数组的方式类似。在创建二维数组时,用逗号或者空格区分同一行的不同元素,用分数组时,用逗号或者空格区分同一行的不同元素,用分号区分不同行。号区分不同行。5MATLAB 数组的创建数组的创建其他数组生成函数其他数组生成函数函函 数数说说 明明zeros产生元素全为产生元素全为0的数组的数组ones产生元素全为产生元素全为1的数组的数组eye产生单位数组产生单位数组rand产生均匀分布的随机数数组,数值范围(产生均匀分布的随机数数组,数值范围(0,1)randn产生均值为产生均值为0,方差为,方差为1的正态分布随机数数组的正态分布随机数数组diag获取数组的对角线元素,也可生成对角数组获取数组的对角线元素,也可生成对角数组6MATLAB 数组的创建数组的创建其他数组生成函数其他数组生成函数 zeros zeros、onesones、randrand、randnrandn、eyeeye 上述几个函数调用格式相同:上述几个函数调用格式相同:A=zeros(n)A=zeros(n)返回一个返回一个n n n n阶零数组;阶零数组;A=zeros(m,n)A=zeros(m,n)返回一个返回一个mm n n阶零数组;阶零数组;函数函数diag()diag()函数功能:函数功能:获取数组的对角线元素,也可生成对角数组获取数组的对角线元素,也可生成对角数组 a=diag(A)a=diag(A)返回返回A A的对角元素,的对角元素,a a是列向量是列向量;B=diag(a)B=diag(a)返回一个返回一个n n n n阶数组;阶数组;7MATLAB 数组的创建数组的创建其他数组生成函数示例其他数组生成函数示例 A=eye(3)A=1 0 0 0 1 0 0 0 1 A=rand(3)A=0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 A=zeros(3)A=0 0 0 0 0 0 0 0 0 A=ones(2,3)A=1 1 1 1 1 1 8MATLAB 数组的创建数组的创建其他数组生成函数示例其他数组生成函数示例 A=rand(3,5)A=0.4218 0.9595 0.8491 0.7577 0.6555 0.9157 0.6557 0.9340 0.7431 0.1712 0.7922 0.0357 0.6787 0.3922 0.7060 b=diag(A)b=0.42180.65570.6787 C=diag(b)C=0.4218 0 0 0 0.6557 0 0 0 0.67879MATLAB 数组寻址数组寻址 数组中总是包含多个元素,因此在对数组的单个元素数组中总是包含多个元素,因此在对数组的单个元素或者多个元素进行访问时,需要对数组进行寻址运算。或者多个元素进行访问时,需要对数组进行寻址运算。在在 MATLAB MATLAB 中,数组寻址是通过对数组下标的访问来实中,数组寻址是通过对数组下标的访问来实现的。现的。提取数组提取数组A的第的第m行、第行、第n列的元素值,使用列的元素值,使用A(m,n)可以可以得到。同样,将矩阵得到。同样,将矩阵A的第的第m行、第行、第n列的元素值赋为列的元素值赋为val,使用命令,使用命令A(m,n)=val。如果在数组寻址时,行或列的值大于数组的大小,则出如果在数组寻址时,行或列的值大于数组的大小,则出错。错。10MATLAB 数组寻址数组寻址 如果需要访问数组中的多个数据,可以通过下标数组进如果需要访问数组中的多个数据,可以通过下标数组进行行 例如:例如:A(1,2,2,3)利用冒号操作符也可以访问数组利用冒号操作符也可以访问数组裁减数组裁减数组 例如:例如:A(2:3,1:2)A(1:2:4,1:2)A(1:2:4,:)A(:,1:2)A(:,:)11MATLAB 数组的查找数组的查找数组的查找函数是数组的查找函数是findfind,它能够查找数组中的非零数组,它能够查找数组中的非零数组元素,并返回其数组索引值。元素,并返回其数组索引值。findfind函数在函数在MATLABMATLAB中的使用语法形式:中的使用语法形式:(1)(1)a=a=find(Afind(A)返回数组返回数组A A中非零元素的单下标索引中非零元素的单下标索引(2)(2)注意单下标索引是按列计数注意单下标索引是按列计数(2)a,b=(2)a,b=find(Afind(A)返回数组返回数组A A中非零元素的双下标索引放方式。中非零元素的双下标索引放方式。12MATLAB 数组的排序数组的排序在很多时候我们需要对一个给定的数据向量进行排序。在很多时候我们需要对一个给定的数据向量进行排序。为完成这一操作,为完成这一操作,MATLAB MATLAB 提供了提供了 sort sort 函数,该函数将函数,该函数将任意给定的序列进行排序。任意给定的序列进行排序。sort sort 函数的调用格式有:函数的调用格式有:B=sort(A)B=sort(A)B=sort(A,dim)B=sort(A,dim)B=sort(.,mode)B=sort(.,mode)B,IX=sort(.)B,IX=sort(.)其中的其中的 B B 为保存结果的数组;为保存结果的数组;A A 为待排序的数组,当为待排序的数组,当 A A 为多维数组时,用为多维数组时,用 dim dim 指定需要排序的维数(默认为指定需要排序的维数(默认为1 1););mode mode 为排序的方式,可以取值为排序的方式,可以取值“ascend”ascend”和和“descend”descend”,分别表示升序和降序,默认为升序;,分别表示升序和降序,默认为升序;IX IX 用用于存储排序后的下标数组。于存储排序后的下标数组。13MATLAB 数组的运算数组的运算数组的数值运算数组的数值运算 数组的加减法数组的加减法 +-数组的乘除法数组的乘除法 .*./数组的乘方数组的乘方 .数组的关系运算数组的关系运算数组的逻辑运算数组的逻辑运算14MATLAB 数组的数值运算数组的数值运算数组的加减法数组的加减法 数组加减法为数组元素的加减法,与矩阵加减法相同。数组加减法为数组元素的加减法,与矩阵加减法相同。利用运算符利用运算符“+”和和“-”实现该运算。需要注意的是相加实现该运算。需要注意的是相加或相减的两个数组必须有相同的维数。或相减的两个数组必须有相同的维数。或者是数组与数值相加减。或者是数组与数值相加减。数组的乘除法数组的乘除法 数组乘除为元素的乘除,通过运算符数组乘除为元素的乘除,通过运算符“.*”和和“./”来实现。运算时需要两个数组有相同的维数来实现。运算时需要两个数组有相同的维数 或者数组或者数组与数值相乘除。与数值相乘除。注意:在进行除法操作时,作为分母的数组中不能包注意:在进行除法操作时,作为分母的数组中不能包含含 0 元素。元素。15MATLAB 数组的数值运算数组的数值运算 数组的乘方数组的乘方 数组乘方用符号数组乘方用符号“.”.”实现。数组乘方以三种方式进行。实现。数组乘方以三种方式进行。底为数组,指数为标量的形式。这种形式的结果是将底为数组,指数为标量的形式。这种形式的结果是将数组的每个元素进行指数相同的乘方。返回的结果为数组的每个元素进行指数相同的乘方。返回的结果为与底维数相同的数组,结果数组的每个元素为底中相与底维数相同的数组,结果数组的每个元素为底中相应元素的乘方。应元素的乘方。底为标量,指数为数组的形式。该形式返回的结果为底为标量,指数为数组的形式。该形式返回的结果为数组,维数与指数数组相同。结果数组的每个元素为数组,维数与指数数组相同。结果数组的每个元素为底以指数数组相应元素为指数做乘方的结果。底以指数数组相应元素为指数做乘方的结果。底和指数都是数组的形式。此时两个数组需要有相同底和指数都是数组的形式。此时两个数组需要有相同的维数。返回结果为一个数组,维数与前面两个数组的维数。返回结果为一个数组,维数与前面两个数组相同,每个元素为底数数组和指数数组做乘方的结果。相同,每个元素为底数数组和指数数组做乘方的结果。16MATLAB 数组的关系运算数组的关系运算 关系运算和前面讲过的一样,包含关系运算和前面讲过的一样,包含6 6种:小于(种:小于()、等于()、等于(=)、小于等于()、小于等于(=)和不等于()和不等于(=)。)。MATLAB MATLAB 比较两个元素大小时,比较两个元素大小时,如果表达式为真,则返回结果如果表达式为真,则返回结果1 1,否则返回,否则返回0 0。通过关系运算符实现数组的关系运算。返回结果为一个通过关系运算符实现数组的关系运算。返回结果为一个数组,结果数组的元素为数组,结果数组的元素为0 0或者或者1 1,由相互比较的两个数,由相互比较的两个数组的相应元素的比较结果决定。组的相应元素的比较结果决定。两个数组进行关系运算,需要维数相等两个数组进行关系运算,需要维数相等 数组和单个数值也可以进行关系运算数组和单个数值也可以进行关系运算17MATLAB 数组的逻辑运算数组的逻辑运算 数组逻辑运算也和前面讲过的一样符主要包括数组逻辑运算也和前面讲过的一样符主要包括“与与”(&)、“或或”(|)和和“非非”()。通过逻辑运算符实现数组的逻辑运算。返回结果为一个通过逻辑运算符实现数组的逻辑运算。返回结果为一个数组,结果数组的元素为数组,结果数组的元素为0或者或者1。两个数组进行逻辑运算,需要维数相等两个数组进行逻辑运算,需要维数相等 数组和单个数值也可以进行逻辑运算数组和单个数值也可以进行逻辑运算18MATLAB 数组数组思考题思考题 A=16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 11.找出数组找出数组A中大于中大于8的元素的单下标索引的元素的单下标索引2.找出数组找出数组A中大于中大于8并且小于并且小于14的元素的单下标索引的元素的单下标索引针对第一题:针对第一题:a=find(A8)注意注意find函数是用来返回数组中的非零元函数是用来返回数组中的非零元素下标的函数,为什么能直接这样用?素下标的函数,为什么能直接这样用?19MATLAB数组的扩展数组的扩展l 数组编辑器扩展数组数组编辑器扩展数组 双击双击MATLAB界面工作区中的任一数组变量,都能打界面工作区中的任一数组变量,都能打开数组编辑器,对该数组进行编辑操作开数组编辑器,对该数组进行编辑操作20MATLAB数组的扩展数组的扩展l 下标索引扩展数组下标索引扩展数组 索引扩展是数组扩展中较为常用的一种方法。索引扩展是数组扩展中较为常用的一种方法。比如目前有一个比如目前有一个n行行m列的数组列的数组A,要通过索引来扩展该,要通过索引来扩展该数组,那么可以使用超出目前数组尺寸的索引数字,来数组,那么可以使用超出目前数组尺寸的索引数字,来制定数组当前尺寸之外的一个位置,并对该位置的数制定数组当前尺寸之外的一个位置,并对该位置的数组元素进行赋值来完成对数组的扩展。组元素进行赋值来完成对数组的扩展。同时未指定的新添位置上默认赋值为。同时未指定的新添位置上默认赋值为。21MATLAB数组的扩展数组的扩展l cat函数扩展数组函数扩展数组 cat系列函数包括:系列函数包括:cat,horzcat和和vertcat。不管哪个连。不管哪个连接函数,都必须保证被操作的数组可以被连接,即在某接函数,都必须保证被操作的数组可以被连接,即在某一个方向上尺寸一致。一个方向上尺寸一致。cat函数函数 语法:语法:Z=cat(dim,A,B,C,)dim=1/2 行行/列元素连接列元素连接horzcat函数函数 语法:语法:Z=horzcat(A,B,C)vertcat函数函数 语法:语法:Z=vertcat(A,B,C)22MATLAB数组元素的删除数组元素的删除 删除数组元素,可以通过将该位置的数组元素赋值为空删除数组元素,可以通过将该位置的数组元素赋值为空方括号方括号()即可,一般配合冒号使用,将数组中的某些即可,一般配合冒号使用,将数组中的某些行、列元素删除。不过需要注意的是,在进行数组元素行、列元素删除。不过需要注意的是,在进行数组元素的删除时,索引结果必须是完整的行或列,而不能是数的删除时,索引结果必须是完整的行或列,而不能是数组内部的块或者单元格。组内部的块或者单元格。23MATLAB多维数组多维数组 从从 MATLAB 5开始,开始,MATLAB 开始支持多维数组。开始支持多维数组。MATLAB 对多维数组的操作与一维和二维数组相同。目对多维数组的操作与一维和二维数组相同。目前,对于多维数组,最常用的为三维数组。三维数组在前,对于多维数组,最常用的为三维数组。三维数组在图像处理中有着非常广泛的应用。图像处理中有着非常广泛的应用。三维数组的第三维称为三维数组的第三维称为“页页”,即一个三维数组由行、,即一个三维数组由行、列和页组成,其中每一页包含一个由行和列构成的二维列和页组成,其中每一页包含一个由行和列构成的二维数组,并且每一页的二维数组必须有相同的维数。数组,并且每一页的二维数组必须有相同的维数。24MATLAB数组的创建数组的创建多维数组多维数组多维数组无法像一维数组和二维数组那样一次输入全部多维数组无法像一维数组和二维数组那样一次输入全部值。因此需要借助一些函数来生成多维数组。值。因此需要借助一些函数来生成多维数组。1.利用数组函数生成多维数组利用数组函数生成多维数组2.利用直接索引方式生成数组利用直接索引方式生成数组3.通过通过 cat 函数创建多维数组函数创建多维数组 A=cat(3,M,N)cat 函数含义:沿着一个指定维数把数组连接起来。前函数含义:沿着一个指定维数把数组连接起来。前面也讲到可以用于连接数组(面也讲到可以用于连接数组(dim=1或或2)25其他常用的其他常用的MATLAB数组函数数组函数函数名称函数名称 描述描述 numel(A)获取数组获取数组A的元素总个数的元素总个数 reshape(A,m,n)把数组把数组A变成变成m行行n列的数组,列的数组,m*n必须等于必须等于numel(A)m,n=size(A)返回数组各维的大小返回数组各维的大小m=length(A)如如A为一维数组,返回数组的长度;如为一维数组,返回数组的长度;如A为二维数组,返回数组列方向的长度为二维数组,返回数组列方向的长度flipud(A)、fliplr(A)实现数组实现数组A的上下翻转、和左右翻转的上下翻转、和左右翻转26

    注意事项

    本文(MATLAB数组和数组运算.ppt)为本站会员(wuy****n92)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开