欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《数组及其运算》PPT课件.ppt

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

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

    《数组及其运算》PPT课件.ppt

    第三章 数组及其运算,本章主要内容如下:3.1 概述3.2 数值数组的生成和寻访3.3 数组运算和矩阵运算3.4 非数和空数组3.5 数组的关系运算和逻辑运算3.6 字符串数组,3.1 概述,MATLAB长于数值计算,而所谓数值计算,就是指计算的表达式、变量中不得包含未经定义的自由变量。数值数组(Numeral Array)和数组运算(Array Operations)是MATLAB的核心内容。数组是MATLAB最重要的一种内建数据类型,而数组运算则是定义在这种数据结构上的方法。本章重点介绍数值数组,其次是与数组类似其它结构体。数组:是指由一组实数或复数排成的长方阵列(Array),包括行向量、列向量和矩阵。数组的运算:无论对数组施加什么运算(加减乘除或函数)总认定那种运算对被运算数组中的每个元素平等地实施同样的操作。,3.1 概述,变量及其赋值在命令窗口可直接输入变量并赋值,无须声明其类型和维数,MATLAB将自动处理。MATLAB 的变量名称由英文大小写52个字母、数字和下划线等符号组成,并且第一个字符必须是英文字母,变量和常量最长允许31个字符。须注意的是,在默认状态下,MATLAB对字母大小写敏感。,3.1 概述,MATLAB数据格式及显示方式MATLAB既可用传统的十进制数表达数值,也可以用科学计数表达数值,用e代表10的指数形式,用i和j来代表虚数。MATLAB内部数据格式只有一种,是IEEE浮点标准的双精度二进制(64位),相应于十进制的16位有效数,范围为10-308 10+308。为了人机交互的友好性,数据输出显示格式有8种。可用菜单选项或format命令选择。,3.2 数值数组的生成和寻访,3.2.1 一维数组一维数组的创建逐个元素输入法 借助数组编辑器可以逐个输入数组元素(对于二维数组同样适用),但也可在指令窗中直接输入。例如在指令窗中输入(数组元素之间用“”或“,”隔开):x=2 pi/3 sqrt(3)3+5i则将显示:,x=2.0000 1.0472 1.7321 3.0000+5.0000i,3.2 数值数组的生成和寻访,3.2.1 一维数组一维数组的创建定数线性采样法该方法在设定的“总点数”下,均匀采样生成一维“行”数组。其通用格式为:x=linspace(a,b,n),【说明】a、b分别是生成数组的第一个和最后一个元素,n是采样总点数。该指令与 x=a:(b-a)/(n-1):b 相同。,此外还可通过数组运算或数组生成函数,构建某些特殊的数组。,【例】一维数组的冒号生成法和定数线性采样法。,显然这两种方法生成的一维数组是完全相同的。,一维数组一维数组的寻访数组寻访的一般格式为X(index),下标index可以是单个正整数或正整数数组。,例如对数组作如下操作:,x=2.0000 1.0472 1.7321 3.0000+5.0000i,x(3)ans=1.7321 x(1 2 4)ans=2.0000 1.0472 3.0000+5.0000i x(2:end)ans=1.0472 1.7321 3.0000+5.0000i x(4:-1:1)ans=3.0000+5.0000i 1.7321 1.0472 2.0000,下标为由 构成的数组,下标为由冒号生成法构成的数组,取单个数组元素,3.2.2 二维数组二维数组的创建直接输入法整个输入数组须以“”为其首尾;数组行与行之间用“;”或“回车键”隔离;数组元素用逗号或空格分离。,其中,第一个矩阵输入采用“;”分行,第二个矩阵输入采用“回车键”分行。,A=1 2 3;4 5 6;7 8 9A=1 2 3 4 5 6 7 8 9 A=1,2,34,5,67,8,9A=1 2 3 4 5 6 7 8 9,3.2.2 二维数组二维数组的创建利用M文件创建和保存数组,对于经常需要调用的且比较大的数组,可专门为该数组创建一个M文件。利用文件编辑器输入该数组并保存,以后只要在MATLAB指令窗中,运行该文件,文件中的数组就会自动生成于MATLAB内存中。,标准数组生成函数,d=eye(5)%产生(5*5)的单位阵,d=1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1,3.2.2 二维数组二维数组的寻访和赋值全元素标识和赋值这是一种最常用的标识方式,对于二维数组来说,“全下标”标识由两个下标组成:行下标,列下标。如A(3,5)等。,单下标标识和赋值这是只用一个下标来指明元素在数组中的位置。对二维数组采用“单下标”标识,应先对数组的所有元素进行“一维编号”,即先设想把二维数组的所有列按先左后右的次序,首尾相接排成“一维长列”;然后自上往下对元素位置进行编号。,3.2.2 二维数组二维数组的寻访和赋值利用MATLAB的冒号运算,可方便地进行数组(矩阵)的子数组(子矩阵)的寻访和赋值。,冒号表达式:s1:s2:s3 式中,s1:起始值;s2:步长(省略为1);s3:终止值。,例如:A(:,j):表示A矩阵第j列全部元素 A(i,:):表示A矩阵第i行全部元素 A(1:3,2:4):表示对A矩阵取第一到第三行,第二到第四列中所有元素构成的子矩阵。,3.3.1 数组运算的常用函数函数数组的运算规则对于(mn)数组X=xijmn,函数f()的数组运算规则是指:f(X)=f(xij)mn,3.3 数组运算和矩阵运算,例如对(33)数组A进行2次乘方运算A2,只需对数组中每个元素进行乘方运算aij2即可,如右图所示。,A=1 2 3;4 5 6;7 8 9A=1 2 3 4 5 6 7 8 9 A.2ans=1 4 9 16 25 36 49 64 81,3.3.1 数组运算的常用函数常用函数,3.3 数组运算和矩阵运算,mod(A,2)ans=1 0 1 0 1 0 1 0 1,例如对数组,log(A)ans=0 0.6931 1.0986 1.3863 1.6094 1.7918 1.9459 2.0794 2.1972,exp(A)ans=1.0e+003*0.0027 0.0074 0.0201 0.0546 0.1484 0.4034 1.0966 2.9810 8.1031,sign(A)ans=1 1 1 1 1 1 1 1 1,real(A)ans=1 2 3 4 5 6 7 8 9,angle(A)ans=0 0 0 0 0 0 0 0 0,3.3.2 矩阵运算矩阵运算不同于数组运算,要符合矩阵运算的规则,%例二维数组、矩阵运算A=-4,-3,-2;-1,0,1;2,3,4;B=1,3,2;3,2,5;2,5,7;C=A+B*i%生成复数数组C.,C%非共轭转置和共轭转置,A./B,A/B%数组、矩阵右除B.A,BA%数组、矩阵左除A.*B,A*B%数组乘和矩阵乘,ans=-4.0000-1.0000-1.0000-0.3333 0 0.2000 1.0000 0.6000 0.5714ans=-2.5000-1.5000 1.5000-1.0000-0.5455 0.8182 0.5000 0.4091 0.1364ans=-4.0000-1.0000-1.0000-0.3333 0 0.2000 1.0000 0.6000 0.5714ans=-3.5000-3.0000-2.5000-1.9545-1.6364-1.3182 2.6818 2.4545 2.2273,A./B,A/B,B.A,BA,A=-4,-3,-2;-1,0,1;2,3,4;B=1,3,2;3,2,5;2,5,7;,在程序流控制和逻辑、模糊推理中,都需要对一类是非问题作出“是真”、“是假”的判断。为此,MATLAB设计了关系操作、逻辑操作和一些相关函数。虽在其它程序语言中也有类似的关系、逻辑运算,但MATLAB作为一种比较完善的科学计算环境,有其自身的特点。,MATLAB约定:在所有关系、逻辑表达式中,作为输入的任何非0数都被看成是“逻辑真”,只有0被认为是“逻辑假”。所有关系表达式和逻辑表达式的计算结果,即输出,是一个由0和1组成的“逻辑数组”(Logical Array)。在此数组中的1表示“真”,0表示“假”。逻辑数组是一种特殊的数值数组,与“数值类”有关的操作和函数对它也同样适用;但它又不同于普通的“数值”,它还表示着对事物的判断结论“真”与“假”。因此它又有其自身的特殊用途,如数组寻访等。,3.4 关系操作和逻辑操作,3.4.1 关系操作关系操作指令,3.4 关系操作和逻辑操作,【说明】标量与数组比较 比较在此标量和数组每个元素之间进行,比较结果与被比较数组同维。数组与数组比较 两数组的维数必须相同,比较在两数组相同位置上的元素间进行,比较结果与被比数组同维。,关系运算示例:,A=1:9,B=10-A,r0=(AB),A=1 2 3 4 5 6 7 8 9B=9 8 7 6 5 4 3 2 1,r0=1 1 1 0 0 0 0 0 0,r1=0 0 0 0 1 0 0 0 0,r2=0 0 0 0 0 1 1 1 1,3.4.2 逻辑操作逻辑操作指令,3.4 关系操作和逻辑操作,【说明】标量与数组逻辑运算 运算比较在标量与数组每个元素之间进行,结果与数组同维。数组与数组逻辑运算 参与运算的数组必须同维,运算在两数组相同位置上的元素间进行,运算结果与数组同维。,逻辑操作示例1:,A=1:9,B=10-A,r0=(AB)&(AB)|(A3),%逻辑操作示例2:逐段解析函数的计算和表现t=linspace(0,3*pi,500);y=sin(t);%产生正弦波z1=(t2*pi).*y;%获得整流半波w=(tpi/3%获得削顶整流半波subplot(1,3,1),plot(t,y,:r),ylabel(y)subplot(1,3,2),plot(t,z1,:r),axis(0 10-1 1)subplot(1,3,3),plot(t,z2,-b),axis(0 10-1 1),3.5 字符串数组,字符串数组(简称串数组)主要用于数据可视化、图形用户界面GUI 制作等,它与数值数组为不同的数据类(Class),如数值标量在内存中占8个字节,而一个字符则只需2个字节。本节对字符串数组作一简要介绍。,3.5.1 字符串数组创建与操作字符变量的创建方式 在指令窗中,将待建的字符放在单引号对 中,再按Enter键(单引号对必须在英文状态下输入)。,如在指令窗中输入:a=university 则a即为字符变量,也为串数组。,a=an universitya=an university,3.5.1 字符串数组创建与操作串数组的大小 串数组中每个字符(包括空格和标点)都占据一个元素位,上面输入的数组a的大小可用下面指令获得:,size(a)ans=1 13,表示这是一个113的数组。,串数组的元素标识,在一维串数组中,MATLAB按自左至右的次序标识字符的位置,如:,b=a(end:-1:1)b=ytisrevinu na,3.5.1 字符串数组创建与操作中文字符串数组 在中文字符串数组中,每个字符也占一个元素位置,如串数组中每个字符(包括空格和标点)都占据一个元素位,上面输入的数组a的大小可用下面指令获得:,A=武汉科技大学,size(A)A=武汉科技大学ans=1 6,由小串构成长串,B=A,机械自动化学院B=武汉科技大学 机械自动化学院,3.5.1 字符串数组创建与操作多行串数组的创建直接创建 多行串数组的直接创建时,要保证同一串数组的各行字符数要相等:,利用串操作函数创建,串操作函数按最长行设置每行长度,其它行的尾部用空格填充:,AB=A,;机械自动化学院,size(AB)AB=武汉科技大学 机械自动化学院ans=2 7,AC=char(A,机械自动化学院),size(AC)AC=武汉科技大学 机械自动化学院ans=2 7,3.5.2 串操作函数,3.5.3 串转换函数,3.6.1 非数NAN非数(Not a Number)指的是 0/0,/,0 之类的运算,在MATLAB中用NaN或nan表示。NaN具有以下性质:NaN参与运算所得的结果也是NaN,即具有传递性;非数没有大小的概念,不能比较两个非数的大小。非数的功用:真实表示0/0,/,0 运算的结果;避免因这类异常运算而造成程序中断;在数据可视化中,用来裁减图形。,3.6“非数”和“空”数组,Warning:Divide by zero.a=NaNWarning:Log of zero.n=NaNc=NaNd=NaN,【例】非数的产生和性质演示,非数具有传递性,a=0/0,n=0*log(0),c=inf/inf,d=sin(a),【例】非数的产生和处理:求近似极限,修补图形缺口,t=-2*pi:pi/10:2*pi;%该自变量数组中存在零值y=sin(t)./t;%在t=0处,计算将产生NaNtt=t+(t=0)*eps;%逻辑数组参与运算,用“机器零”代替0元素yy=sin(tt)./tt;%用数值可算的sin(eps)/eps近似替代sin(0)/0subplot(1,2,1),plot(t,y),axis(-7,7,-0.5,1.2),xlabel(t),ylabel(y),title(残缺图形)subplot(1,2,2),plot(tt,yy),axis(-7,7,-0.5,1.2)xlabel(t),ylabel(yy),title(正确图形)Warning:Divide by zero.,3.6.2“空”数组 在MATLAB中,“空”数组除了用 表示外,某维或若干维长度均为0的数组都是“空”数组。,%例空数组示例a=,b=ones(0,2),c=zeros(3,0)%创建空数组A=reshape(-4:5,2,5)%生成(2*5)数组A(:,1,3)=%利用空数组进行数组裁减,a=b=Empty matrix:0-by-2c=Empty matrix:3-by-0,A=-4-2 0 2 4-3-1 1 3 5A=-2 2 4-1 3 5,【说明】reshape(Q,m,n)为生成mn数组,且数组元素由Q按列展开。,练习,命令窗口中,键入:demo,出现MATLAB的demo演示窗口,然后选择:MATLAB下的Matrices,依次选取其中的Basic Matrix operation、Matrix manipulation两个示例,进行MATLAB矩阵运算的学习。教材37页1、2、3、4、5、7题。,

    注意事项

    本文(《数组及其运算》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开