第5章matlab 数组和数组运算(1).doc_第1页
第5章matlab 数组和数组运算(1).doc_第2页
第5章matlab 数组和数组运算(1).doc_第3页
全文预览已结束

下载本文档

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

文档简介

如下面的总结是以M文件“sin.m”为例。1,.1表示0.1,.2表示0.22,要想在Matlab中创建一个数组,用户只需先输入一个左方括号,然后输入每个数值并用空格(或逗号)隔开,最后用一个右方括号结束数组创建。3,Matlab中,可以通过下标来访问单个数组元素。例如x(1)是x的第一个元素,x(2)是x的第二个元素。为了同时访问一块数据,Matlab提供了冒号如:x(1:4)。这样得到x数组中第1个到第4个元素,括号中的“1:4”的意思是从1开始,然后加1计数直到4。4. x(7:end)这条命令返回x数组的第7个元素到最后一个元素。关键字end表示x数组的最后一个元素5.引用数组元素时,可以通过控制递增顺序和步进值。y(3:-1:1)表示从3开始,向下减1计数,到1结束。y(2,2,7)表示从2开始,以步长为2计数,到7结束。6.可以随机抽取数组中一个或多个元素的值,y(8 2 9 1)。在这里,用到了另外一个数组8 2 9 1,并按照希望的顺序提取数组y中的元素。提取的第1个元素是y中的第8个值,第2个元素是y中的2个值,第3个元素是y中的第9个值,第4个元素是y中的第1个值。实际上,8 2 9 1本身就是一个数组,它的作用是指定抽取地址。抽取的索引地址可以相同,同一个数允许多次调用,用户可以随意地重新排列和复制数组元素,该特性使Matlab编程更具高效性。7.sin.m例子中x的值可以有另外两种输入方法:(1)x = (0:0.1:1)*pi(2)x = linspace(0,pi,11)。冒号表示法使用户能够直接指定数据点之间的增量,而不用指定数据点的个数;linspace函数法则使用户能够直接指定数据点的个数,而不用指定数据点之间的增量。这两种方式生成的数组时等间隔分布的。8创建对数间隔的数组,用logspace函数实现。如logspace(0,2,11)创建从100开始到102结束,包含11个值的数组。 尽管在通常情况下都是从10的整数次方开始,到10的整数次方结束。但logspace同样可以用非整数作为前两个参数。在使用冒号表示法或者函数linspace和logspace的时候,人们习惯于把表达式用方括号括起来。不会改变结果,一目了然,但进行多余运算浪费时间,这里表示连接操作(没有必要)。方括号使Matlab运行变慢,圆括号不意味着连接操作可以根据需要任意使用。9.数组的寻址和表达式组合功能生成新的数组。a = 1:5,b = 1:2:9则c = b a;d = a(1:2:5) 1 0 1生成d=1 3 5 1 0 1。数组创建方法描述x=2 2*pi sqrt(2) 2-3j创建包含任何元素的行向量x=first:last创建行向量x,从first开始,步长为1,到last结束,如果不能到last则到小于last的最大整数结束。要注意,x=firt:last可以得到相同的数组,但是会花更多的时间因为Matlab会同时考虑方括号的连接操作和冒号的数组创建操作。x=first:increment:last创建行向量x,从first开始,步长为incerment,到last结束,如果不能到last,则到小于last的最大整数结束x=linspace(first:last:n)创建均匀间隔的行向量,从first开始,到last结束共有n个元素x=logspace(first,last,n)创建对数间隔的行向量x,从10first开始,到10last结束,共有n个元素。以下内容的操作无实例,随意输入验证即可10.用冒号表示法、linspace函数或logspace函数创建列向量,用户必须用Matlab转置操作符()将所生成的行向量转置成列向量。11.Matlab提供了一个带前置点号的转置操作符。这时,可以把点-转置操作符解释成非复数共轭转置。当数组为复数数组时,转置()给出的结果是复共轭转置,也就是说在进行转置操作工程中,虚部的符号也跟着改变。相反,点-转置操作符(.)只将数组装置,不进行共轭操作。对于实数而言,二者一样。12.complex函数由实部和虚部创建复数。a=1:5,则complex(a,a)生成1+1i,2+2i,3+3i,4+4i,5+5i。13.标量-数组运算。数组与标量之间的加、减、乘、除都是简单地对数组中的所有元素进行运算。Matlab的变量名严格区分大小写。14.数组-数组运算。当两个数组具有相同维数时,加法、减法、乘法和除法在Matlab中就可以逐个元素(元素对元素)进行。元素对元素的乘法和除法与普通的乘除法类似,但是使用的符号为点乘.*和点除./。标准的星号乘法符号之前的这个点号告诉Matlab执行元素对元素的数组乘法,没有这个点号的乘法表明进行的是矩阵乘法。疑问:./和/的区别15.有两个数组g = 1 2 3 4;5 6 7 8;9 10 11 12 h = 1 1 1 1;2 2 2 2;3 3 3 3在分子是标量的情况下,数组除法或者点除将分子中标量扩展成一个和分母相同维数的数组,然后执行元素对元素的矩阵除法。自动扩展标量值使得元素对元素的运算能够进行的过程称为标量扩展。16.没有点号的除法是矩阵除法运算,或称为矩阵逆运算。矩阵除法给出的结果不一定和运算矩阵具有相同的维数。17.是专门为矩阵指数运算保留的,但g2会出错,因为该语句是矩阵指数运算,此运算只对方阵(行数和列数相同的矩阵)才有定义。.是用来执行元素对元素的指数运算的。当指数是一个标量时,该标量将用来对数组的所有元素进行取指数操作。如g.-1得到g的每个元素的倒数,与1./g标量扩展法结果一致。18.当两个数组已经定义过,如需调用直接输入变量名。或一块调用,如g,h形式。19.当一个标量的指数是矩阵时(如2.g),矩阵的每个元素都被应用到这个标量上进行取指数运算。得到与矩阵同维数的矩阵。当指数运算中的两个变量(指数和底数)是相同维数的数组,就执行元素对元素的指数运算(如g.h)。带有标量参数的两种指数运算形式同样是标量扩展的特例,这种运算实际上就是先把标量扩展成与数组相同的维数,然后再执行元素对元素的指数运算。20.Matlab用斜线(/)和反斜线()定义数组除法。在这两种定义中,都是用斜线右边的矩阵除斜线左边的矩阵,即左边是分子,右边是分母。有别于标量的右除和左除。下面表格总结基本的数组运算。元素对元素的运算数据样例A=a1 a2 an B=b1 b2 bn c为一个标量标量加法A+c=a1+c a2+c an+c标量减法A-c=a1-c a2-c an-c标量乘法A*c=a1*c a2*c an*c标量除法A/c= cA =a1/c a2/c an/c数组加法A+B=a1+b1 a2+b2 an+bn数组减法A-B=a1-

温馨提示

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

评论

0/150

提交评论