数值运算及数据类型.ppt_第1页
数值运算及数据类型.ppt_第2页
数值运算及数据类型.ppt_第3页
数值运算及数据类型.ppt_第4页
数值运算及数据类型.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab技术,第二章数值运算及数据类型,Matlab技术,本章目标,1、掌握矩阵、数组的创建和标识方法2、掌握矩阵的算术、关系及逻辑运算3、特殊矩阵,Matlab技术,第一节数组和矩阵的创建,数组:是指由一组实数或复数排成的长方阵列(Array)。数组运算:是指无论在数组上施加什么运算(+、-、或函数),总认为那种运算对被运算数组中的每个元素(Element)平等地实施同样的操作。目的:使计算程序简单、易读,使程序指令更接近于教科书上的数学计算公式;提高程序的向量化程度,提高计算效率,节省计算机开销。,Matlab技术,一维数组的创建,(1)逐个元素输入法x=2pi/2sqrt(3)3+5i(2)冒号生成法通过“步长”设定,生成一维“行”数组的方法。通用格式:x=a:inc:b(3)采用linspace和logspace函数法x=linspace(a,b,n):该指令生成(1n)数组,其作用与x=a:(b-a)/(n-1):b同,n默认值为100。logspace(a,b,n):生成10a到10b之间按对数等分的n个元素的行向量,n默认值为50。,Matlab技术,二维数组的创建,直接输入法,对于较小数组,从键盘上直接输入最方便。二维数组必须有以下三个要素:整个输入数组必须以方括号“”为其首尾;数组的行与行之间必须用分号“;”或回车键隔离;数组元素必须由逗号“,”或空格分隔。,利用M文件创建和保存数组,对于今后经常需要调用的数组,尤其是比较大而复杂的数组,为它专门建立一个M文件是值得的。,Matlab技术,MATLAB函数法,通过MAT数据文件加载矩阵,load指令,或FileImportData,Matlab技术,第二节数组元素的标识,一维数组的标识,二维数组的标识,全下标标识:行下标,列下标优点:几何概念清楚,引述简单。例:矩阵A=123456789101112131415则A(2,3)=8,A(3,2)=12A(3,5)=15,A(1,5)=5,Matlab技术,Matlab技术,Matlab技术,逻辑1标识,-通过与A同样大小的逻辑数组L中“逻辑值1”所在的位置,指出A中元素的位置。-L的元素或是0或是1,它是“逻辑数组(LogicalArray)”。是一种特殊的数据类型。例:A(L),逻辑数组的创建直接建立逻辑数组x=truefalse用逻辑运算建立逻辑数组,Matlab技术,子数组寻访和赋值格式汇总表,Matlab技术,多(高)维数组的创建,多维数组的第一维称为“行(Row)”,第二维称为“列(Column)”,第三维称为“页(Page)”,第四维称为“箱(Box)”,,直接通过全下标元素赋值方式创建多维数组;由若干同样大小的低维数组组合成多维数组;由函数ones,zeros,rand,randn直接创建标准多维数组;借助cat,repmat,reshape等函数构作多维数组。,第三节多维数组的创建和标识,Matlab技术,多维数组的标识,数组的维数(Dimension)和ndims指令指令ndims(A)可直接给出数组A的维数。数组的大小(Size)和size指令不管A数组的维数是多少,size(A)可给出A各维的大小,而指令length(A)可给出所有维中的最大长度。即length(A)等价于max(size(A)。,Matlab技术,第四节数组运算和矩阵运算,无论在数组上施加什么运算(+、-、或函数),总认为那种运算对被运算数组中的每个元素(Element)平等地实施同样的操作。当两个数组具有相同阶数时,进行加、减、乘、除的点运算,其运算是按元素对元素方式进行的。,数组运算,Matlab技术,矩阵运算,矩阵转置:转置符:矩阵的乘法矩阵的相除左除,符号为/右除,符号为矩阵的乘方当矩阵为方阵时,可进行指数乘法运算。,Matlab技术,数组运算和矩阵运算的区别,从外观形状和数据结构上看,二维数组和(数学中的)矩阵没有区别。但是,矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则;数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,数组运算本身仍在完善和成熟中,但它的作用和影响正随着MATLAB的发展而扩大。,Matlab技术,数组运算和矩阵运算指令对照汇总(一),Matlab技术,数组运算和矩阵运算指令对照汇总(二),Matlab技术,第五节特殊矩阵,Matlab技术,非数NaN,按IEEE规定,0/0,/,0等运算都会产生非数(NotaNumber)。该非数在MATLAB中用NaN或nan记述。根据IEEE数学规范,NaN具有以下性质:NaN参与运算所得的结果也是NaN,即具有传递性;非数没有大小概念,因此不能比较两个非数的大小。非数的功用:真实记述0/0,/,0运算的后果;避免可能因0/0,/,0运算而造成程序执行的中断;在数据可视化中,用来裁剪图形。,Matlab技术,空数组(空阵),“空”数组是MATLAB为操作和表述需要而专门设计的一种数组。某维长度为0或若干维长度均为0的数组都是“空”数组。“空”数组的功用:在有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。,Matlab技术,第六节关系操作和逻辑操作,在程序流控制和逻辑、模糊逻辑推理中,都需要对一类是非问题作出“是真,是假”的回答。为此MATLAB设计了关系操作、逻辑操作和一些相关函数。MATLAB的约定:在所有关系表达式和逻辑表达式中,作为输入的任何非0数都被看作是“逻辑真”,而只有0才被认为是“逻辑假”。所有关系表达式和逻辑表达式的计算结果,即输出,是一个由0和1组成的“逻辑数组(LogicalArray)”。在此数组中的1表示“真”,0表示“假”。逻辑数组是一种特殊的数值数组。,Matlab技术,关系操作,Matlab技术,t=-2*pi:pi/10:2*pi;y=sin(t)./t;tt=t+(t=0)*eps;yy=sin(tt)./tt;subplot(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:Dividebyzero.,关系操作示例,Matlab技术,逻辑操作,Matlab技术,【例】逻辑操作示例。注意逻辑运算和关系运算之间的优先级次序。A=-3:3;L1=(A0)L2=A0L3=AL4=A-2&A1L1=1111000L2=0001000L3=0001000L4=00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论