第二章数值数组及其运算_第1页
第二章数值数组及其运算_第2页
第二章数值数组及其运算_第3页
第二章数值数组及其运算_第4页
第二章数值数组及其运算_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

第二章数值数组及其运算第一页,共17页。第二章数值数组及数组运算数值数组(NumericArray)和数组运算(ArrayOperations)始终是MATLAB的核心内容。本章内容一维数组的创建与寻访二维数组的创建与标识二维数组的寻访与赋值数组运算与矩阵运算标准数组生成函数和数组操作函数数组构作技法综合高维数组“非数”和“空”数组关系操作和逻辑操作第一页第二页,共17页。2.1一维数组的创建与寻访数组是指由一组实数或复数排成的长方阵列(Array)。数组运算是指无论在数组上施加什么运算(加减乘除或函数),总认定该运算被运算数组中的每个元素(Element)平等的实施同样的操作。数组运算优点使计算程序简单、易读,使程序指令更接近于教科书上的数学计算公式;提高程序的向量化程度,提高计算效率,节省计算机开销;例题exm2.1_1

绘制在【0,1】时的曲线。第二页第三页,共17页。2.1一维数组的创建与寻访逐个元素输入法;最简单、最通用的构造方法。冒号生成法;通过“步长”设定,生成一维“行”数组的方法。定数线性采样法;在设定的“总点数”下,均匀采样生成一维“行”数组。一维数组的寻访与赋值例题中应注意的问题:rand函数(rand(‘state’,sum(100*clock)));寻访什么样的子数组取决于数组x(index)中的下标index;index中的每个元素取值必须在闭区间[1,end]内;被重新赋值的子数组的长度须与送入的数组长度相同。第三页第四页,共17页。2.2二维数组的创建与标识二维数组是由实数或复数排列成矩形而构成的。当二维数组带有线性变换含义时,二维数组就是矩阵。创建方法直接输入法整个输入数组必须以方括号“[]”为首尾;数组的行与行之间必须用分号“;”或回车键隔离;数组元素必须由逗号“,”或空格分隔。利用M文件创建和保存数组主要针对需要经常调用、比较大而且复杂的数组。例题第四页第五页,共17页。2.2二维数组的创建与标识“全下标”标识对具体矩阵元素,采用“全下标”标识法,即指出是“第几行、第几列”的元素。“单下标”标识只用一个下标指明元素在数组中的位置。“一维编号”:将二维数组的所有列,按先左后右的次序、首尾相接排成“一维长列”,自上往下对元素位置进行编号。两种标识方法的转换sub2ind据全下标换算出单下标ind2sub据单下标换算出全下标

“逻辑1”标识寻找数组中大于某值的元素islogical(index)例题第五页第六页,共17页。2.3二维数组的寻访与赋值不同寻访及赋值方式A(r,c)、A(r,:)、A(:,c)、A(:)、A(s)、A(r,c)=sa、A(:)=D(:)、A(s)=sa全元素赋值方式单下标赋值方式双下标赋值方式第六页第七页,共17页。2.4数组运算与矩阵运算三角函数和双曲函数

acos、acosh、acot、acoth、acsc、acsch、asec、asech、asin、asinh、atan、atan2、atanh、cos、cosh、cot、coth、csc、csch、sec、sech、sin、sinh、tan、tanh指数函数

exp、log、log10、log2、pow2、sqrt复数函数

abs、angle、conj、imag、real圆整函数和求余函数

ceil、fix、floor、mod、rem、round、sign坐标变换函数

cart2sph、cart2pol、pol2cart、sph2cart第七页第八页,共17页。2.4数组运算与矩阵运算函数数组运算规则从外观形状和数据结构上看,二维数组和矩阵没有区别。但矩阵作为一种变换或映射算子的体现,矩阵运算有明确而严格的数学规则;数组运算是MATLAB软件定义的规则,还缺乏严谨的数学推理。数组运算时,运算符前的小黑点不能遗漏;数组与数组之间的运算,参与运算的数组必须同维;两种运算的根本区别:求“乘、除、乘方、三角和指数函数”时关系运算和逻辑运算仅对数组进行。第八页第九页,共17页。2.4数组运算与矩阵运算指令对照数组运算指令对应元素的运算A.’A=ss+-Bs.*As./BB.\sA.^nA.^pp.^AA+-BA.*BA./BB.\Aexp(A)log(A)sqrt(A)f(A)A#BA@B矩阵运算指令符合矩阵运算规则A’s*As*inv(B)A^nA^pp^AA+-BA*BA/B(右除)B\A(左除)expm(A)logm(A)sqrtm(A)funm(A,’FN’)第九页第十页,共17页。2.5标准数组生成函数和数组操作函数标准数组生成函数

diag

eyemagicones

rand

randn

zeros数组操作函数cat:把大小相同的若干数组,沿指定维方向,串接成高维数组diag:提取对角元素,或生成对角矩阵flipud:以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr:以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素kron:按Kronecker乘法规则产生“积”数组不具备“可交换规律”repmat:按指定的“行数、列数”铺放模块数组,以形成更大数组reshape:在总元素数不变前提下,改变数组的“行数、列数”第十页第十一页,共17页。2.6数组构作技法综合数组的赋值扩展法多次寻访扩展法合成扩展法单下标寻访和reshape例题第十一页第十二页,共17页。2.7高维数组高维数组的创建直接通过“全下标”元素赋值方式由若干同样大小的低维数组组合由函数ones,zeros,rand,randn直接创建借助cat,repmat,reshape等函数构作高维数组的标识数组的维数和ndims指令数组的大小和size指令高维数组操作函数cat、flipdim、ipermute、ones、permute、rand、randnRepmat、reshape、shiftdim、squeeze、zeros第十二页第十三页,共17页。2.8“非数”和“空”数组“非数”NaN或nanIEEE规定,0/0,,等运算都会产生非数(notanumber)真实记述0/0,,运算的结果;避免可能因0/0,,运算造成程序执行的中断;在数据可视化中,用来裁剪图形性质:NaN参与运算所得的结果也是NaN,即具有传递性;NaN没有“大小”概念,即不能比较两个非数的大小isnan判断非数属性例题第十三页第十四页,共17页。2.8“非数”和“空”数组“空”数组[]在没有“空”数组参与运算时,计算结果中的“空”可理解为“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变维数。不要把“空”数组与全零数组混淆;“空”数组非“虚无”,确实存在;who,which,whos“空”数组在运算中不具备传递性;isempty判断数组是否“空”数组第十四页第十五页,共17页。2.9关系操作和逻辑操作MATLAB的约定在所有关系表达式和逻辑表达式中,作为输入的任何非0数都被看作是“逻辑真”,只有0被看作“逻辑假”;所有关系表达式和逻辑表达式的计算结果,是一个由0和1组成的“逻辑数组”。此数组中,0表“假”,1表“真”;关系运算应用之一:求近似

温馨提示

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

评论

0/150

提交评论