Matlab数组和向量的介绍_第1页
Matlab数组和向量的介绍_第2页
Matlab数组和向量的介绍_第3页
Matlab数组和向量的介绍_第4页
Matlab数组和向量的介绍_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第3章数组和向量MATLABR2010a基础教程清华大学出版社教学目标教学重点教学内容6/26/20231教学目标掌握数组和向量的概念与性质掌握数组与向量的操作和运算方法了解数组与向量的实际应用6/26/20232教学重点数组的创建方法数组的操作向量的创建方法向量的操作6/26/20233教学内容MATLAB数组创建数组数组操作数组应用实例——计算土壤体积MATLAB向量向量应用实例——力与力矩6/26/20234MATLAB数组数组是MATLAB中的基本构件。数组的概念一个矢量可以只有一列,或者也可以只有一行。因此,矢量是数组的一个特殊情况。通常,数组可以有多列,并且有多行。6/26/20235数组的性质(1/4)数组中的单个数据项称为元素。这些元素也同样具有取值和位置组合而成的唯一属性。在一个二维数组中,位置是指元素所在的行号与列号(按顺序)。一般而言,n维数组中元素的位置是一个包含n个索引值的向量。6/26/20236数组的性质(2/4)当应用于n维数组A时,函数size()按下面两种方式中的一种返回信息:如果按照只有一个返回值的形式调用,如sz=size(A),将会返回一个n维向量,其中包含了数组每一维的大小。如果按照具有多个返回值的形式调用,如[rows,cols]=size(A),将返回具有所要求数量的数组A的各维大小。为了避免出错,应当给定与数组维数同的变量个数。6/26/20237数组的性质(3/4)length()函数返回数组的最大维值,因此如果我们创建一个具有2×8×3大小的3维数组,size(A)将会返回[283],而length(A)将返回8。对于m×n数组的转置(该操作由置于数组标识符后面的撇号字符(')来表明),将返回一n×m的数组,其行与列的数值发生了交换。6/26/20238数组的性质(4/4)一些值得注意的特殊情况如下:当一个二维矩阵具有相同的行数和列数时,称其为方阵(square)。当数组中的非零值仅出现在行号和列号相同的位置时,称该数组为对角的(diagonal)。如果仅有一行,则称其为行向量(rowvector),或者如前一样称为向量。如果仅有一列,则称其为列向量(columnvector),它是行向量的转置。6/26/20239创建数组(1/2)可以通过直接输入数值来创建数组,也可以通过MATLAB内置函数来创建具有某一特点的数组。可以直接在数组中输入数值,使用“;”或者另起一行表明一行的结束。6/26/202310创建数组(2/2)函数zeros(m,n)与ones(m,n)分别产生填充值为0或1的m行n列的数组。函数rand(m,n)与randn(m,n)分别产生取值为0~1之间的随机数的数组。函数diag()具有多种形式,最常用的是diag(A),其中A为一数组,它将A的对角线上的元素作为向量返回;diag(V),其中V为一向量,它返回一个对角线为V的方阵。MATLAB还提供了magic(m)函数,它产生一个填充1到m2之间数字的数组,其组织方式使得每一行、每一列以及对角线上的元素分别加起来等于相同的数。6/26/202311数组操作(1/2)获取数组中的元素可以通过将需要获取元素的索引值用括号括起来的方式对数组中的元素进行寻址,其中第一个值为行索引值,第二个值为列索引值。从数组中移除元素可以使用空数组[]的一种特殊用法来完成此项任务。6/26/202312数组操作(2/2)数组算术操作数组逻辑运算使用库函数数组连接数组切片数组重排线性化数组6/26/202313应用实例——计算土壤体积(1/3)估计为一座建筑准备地基所需要移走泥土的数量。第一步是测量待修建筑物的地面,将得到一个矩形的方格点,每一个方格点上定义了该点的高度。下一步是考虑建筑地基的建筑图。其中阴影区域是为了建造建筑地基而必须将泥土移走的地方。从建筑图中可以估计出每一个测量的方块中必须被移走泥土的比例(对于这个实例来说,它是一个介于0~1之间的数)。需要被移走的泥土的总量就等于每一小方块的深度与该方块中需要移除面积的乘积之和。6/26/202314应用实例——计算土壤体积(2/3)clearclc%soildepthdataforeachsquareproducedbythesurveydpth=[8898888878777788 87888888877777878887888877878888878888777878888888767777888888887777766778877877877777777778988987877777676778888998887666677878988777777667778878988777677668889978998888777778899988988778777788999878];%estimatedproportionofeachsquarethatshouldbeexcavatedarea=[1111111111.300000001111111111.7000000011111111111.8.4000001111111111111.8.300011111111111111.7.200111111111111111.600000.711111111111.800000.711111111111.700000.411111111111.600000.1.811111111111.400000.2.71111111111.9.1000000.4.8.911111111.6];square_volume=dpth.*area;total_soil=sum(sum(square_volume))];代码清单计算泥土总量的脚本6/26/202315应用实例——计算土壤体积(3/3)地形测量

计算泥土体积

运行该程序,得到结果为1117.5立方单位。6/26/202316MATLAB向量向量是对相似数据项的集合进行分组的最简单方式,向量是数据的一维分组。向量中单个的数据项通常称为元素(element)。向量元素的两个独立且截然不同的属性(数值及在向量中的位置)决定了其在某一特定向量中的唯一性。6/26/202317创建向量创建向量有两种方法:使用一系列常值来创建向量。通过对已有的向量进行操作产生新的向量。

6/26/202318向量尺寸向量有一个专门的属性:向量的长度。在多数情况下,该长度在向量创建时就已固定。MATLAB能够通过插入或删除元素来增加或减小向量的长度。函数length(V)返回数组大小中的最大值——对于向量,该数值即为其长度。6/26/202319向量索引数值索引逻辑索引

注意:命令窗口中显示的逻辑变量值是用1代表真,用0代表假。6/26/202320缩短向量注意:实际中很少将缩短向量作为对问题的正确求解方法,而且这样做可能会导致逻辑混乱。有可能的话,要使用索引来对需要保留的元素进行复制。6/26/202321向量操作MATLAB语言的本质核心在于具有丰富的数组和向量操作工具。有3种方法直接从对标量的操作推广而来:(1)算术操作。(2)逻辑操作。(3)使用库函数。有两种方法是针对一般情况下的数组和特殊情况下的向量的:(1)连接。(2)切片(广义索引)。6/26/202322应用实例——力与力矩(1/2)考虑作用于物体上P点的两个力,计算P点的合力、该合力方向上的单位向量以及该力关于M点的力矩。可以使用MATLAB中的向量来表示该问题中的各个向量,它们均具有3个元素:向量的x、y、z方向上的值。6/26/202323应用实例——力与力矩(2/2)1.clear2.clc3.PA=[011]4.PB=[110]5.P=[211]6.M=[401]7.%findtheresultantofPAandPB8.PC=PA+PB9.%findtheunitvectorinthedirectionofPC10.mag=sqrt(sum(PC.^2))11.unit_vector=PC/mag12.%findthemomentoftheforcePCaboutM13.%thisisthecrossproductofMPandPC14.MP=P-M15.moment=cross(MP,PC)当运行该代码

温馨提示

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

评论

0/150

提交评论