- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值运算及数据类型
本章目标 1、掌握矩阵、数组的创建和标识方法 2、掌握矩阵的算术、关系及逻辑运算 3、特殊矩阵 第一节 数组和矩阵的创建 数组:是指由一组实数或复数排成的长方阵列(Array)。 数组运算:是指无论在数组上施加什么运算(+、-、×、÷或函数),总认为那种运算对被运算数组中的每个元素(Element)平等地实施同样的操作。 目的: 使计算程序简单、易读,使程序指令更接近于教科书上的数学计算公式; 提高程序的向量化程度,提高计算效率,节省计算机开销。 一维数组的创建 (1)逐个元素输入法 x=[2 pi/2 sqrt(3) 3+5i] (2)冒号生成法 通过“步长”设定,生成一维“行”数组的方法。 通用格式:x=a:inc:b (3)采用linspace和logspace函数法 x=linspace(a,b,n):该指令生成(1 ×n)数组,其作用与x=a:(b-a)/(n-1):b同,n默认值为100。 logspace(a,b,n):生成10a到10b之间按对数等分的n个元素的行向量,n默认值为50。 二维数组的创建 对于较小数组,从键盘上直接输入最方便。 二维数组必须有以下三个要素: 整个输入数组必须以方括号“[ ]”为其首尾; 数组的行与行之间必须用分号“;”或回车键隔离; 数组元素必须由逗号“,”或空格分隔。 一维数组的标识 逻辑1标识 - 通过与A同样大小的逻辑数组L中“逻辑值1”所在的位置,指出A中元素的位置。 - L的元素或是0或是1,它是“逻辑数组(Logical Array)”。是一种特殊的数据类型。 例: A(L) 子数组寻访和赋值格式汇总表 多(高)维数组的创建 多维数组的第一维称为“行(Row)”,第二维称为“列(Column)”,第三维称为“页(Page)”,第四维称为“箱(Box)”,…… 多维数组的标识 数组的维数(Dimension)和ndims指令 指令ndims(A)可直接给出数组A的维数。 数组的大小(Size)和size指令 不管A数组的维数是多少,size(A)可给出A各维的大小,而指令length(A)可给出所有维中的最大长度。即length(A)等价于max(size(A))。 第四节 数组运算和矩阵运算 无论在数组上施加什么运算(+、-、×、÷或函数),总认为那种运算对被运算数组中的每个元素(Element)平等地实施同样的操作。 当两个数组具有相同阶数时,进行加、减、乘、除的点运算,其运算是按元素对元素方式进行的。 矩阵运算 矩阵转置:转置符:’ 矩阵的乘法 矩阵的相除 左除,符号为/ 右除,符号为\ 矩阵的乘方 当矩阵为方阵时,可进行指数乘法运算。 数组运算和矩阵运算的区别 从外观形状和数据结构上看,二维数组和(数学中的)矩阵没有区别。 但是,矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则;数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。 虽然数组运算尚缺乏严谨的数学推理,数组运算本身仍在完善和成熟中,但它的作用和影响正随着MATLAB的发展而扩大。 数组运算和矩阵运算指令对照汇总(一) 数组运算和矩阵运算指令对照汇总(二) 非数NaN 按IEEE规定,0/0,∞/∞,0×∞等运算都会产生非数(Not a Number)。该非数在MATLAB中用NaN或nan记述。 根据IEEE数学规范,NaN具有以下性质: NaN参与运算所得的结果也是NaN,即具有传递性; 非数没有大小概念,因此不能比较两个非数的大小。 非数的功用: 真实记述0/0,∞/∞,0×∞运算的后果; 避免可能因0/0,∞/∞,0×∞运算而造成程序执行的中断; 在数据可视化中,用来裁剪图形。 空数组(空阵) “空”数组是MATLAB为操作和表述需要而专门设计的一种数组。 某维长度为0或若干维长度均为0的数组都是“空”数组。 “空”数组的功用: 在有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”; 运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。 第六节 关系操作和逻辑操作 在程序流控制和逻辑、模糊逻辑推理中,都需要对一类是非问题作出“是真,是假”的回答。为此MATLAB设计了关系操作、逻辑操作 和一些相关函数。 MATLAB的约定: 在所有关系表达式和逻辑表达式中,作为输入的任何非0数都被看作是“逻辑真”,而只有0才被认为是“逻辑假”。 所有关系表达式和逻辑表达式的计算结果,即输出,是一个由0和1组成的“逻辑数组(Logical Array)”。在此数组中的1表示“真”,0表示“假”。 逻辑数组是一种特殊的数值数组。
文档评论(0)