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

下载本文档

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

文档简介

1、第三章数值数组及其运算、数值数组和数组运算始终是MATLAB的核心,最重要的一章,3.1数值运算的特征,数组:一组实数或复数排列的长方体数组(Array )一维的“行”或“列”二维的“矩形”三维的数组运算:对数组进行什么运算(列) 对阵列中的各要素平等实施相同的操作设定修正阵列和阵列运算的目的:根据程序简单易读的数学公式提高程序的量化程度,提高修正运算效率,节省开销,3.1数值运算的特征是函数为0 x1时的曲线x=03366 在用于绘制exp(-x)plot(x,y )的111阵列的第二句中,指数函数exp(-x )是按照每个x要素获得的值,结果111的阵列相乘部分是两个阵列对应要素的乘法部分

2、,并且y也是111的阵列连续函数,除非通过在相应区间取样,否则不能进行数值校正3.2一维阵列的创建和访问3.2.1一维阵列的创建(1)如果冒号生成格式x=a:inc:b a是第一个元素,inc是步长(缺省为1 ),并且(b-a )是inc的整数倍,那么阵列的最后一个元素等于b,否则(2)线性(对数)取样格式x=linspace(a,b ),其示出x=1:6 x=123456 x=1336023606 x=135 x=0:-1: b是第一个和最后一个元素,n是采样点数x=a:(b-a)/(n-a )等价5 ) b1=1. 00003.250005.50007.7500010.0000 b2=lo

3、gspace (0,3,4 ) b2=1101001000 ones等以上都是行阵列,列阵列转置即可,3.2.1维阵列的生成,【例】函数法是阵列a=ones (1,3 ) a=11 rand (state, 5 ) a1=0. 9501.2311.60680.4860.8913 a1=aa2=11,补充:一维阵列元素的访问和代入;(1)阵列元素的访问(Address) x(3) %构成子阵列的x(1:3) %将前三个元素x(3:-1:1) %由前三个元素的倒置构成的子阵列x (find (x0.5) ) %由大于0.5的元素构成的子阵列%首先找到大于0.5的元素的下标,然后再进行x(1 2 3

4、 4 4 3 2 1) 可以找到%对元素反复检索的追加:一维数组元素的检索和代入,(2)部分数组的代入(Assign) x(3)=0 %第0 %元素的代入为第0 x(1 4)=1 1 %,第4个元素全部分配为1, 3.2.2创建二维阵列,在MATLAB环境中,使用以下三个指令创建二维阵列C a=2.7358 :必须确保所替换的子阵列的长度与所传送的阵列的长度相同,或者回车隔离阵列元素必须用“,”或空格分隔。 b=33/79; %这两个命令分别为变量a和b指定c=1、2*ai*b和b*sqrt(a )。 sin(pi/4 )、a 5*b、3.5 i %二维阵列cc=1. 00005.4716 I

5、0. 69090.7071.8244.50001.0000 I“; 的双曲馀弦值。 在中,是数组行分隔符; 的命令结束符,不显示执行结果,3.2.2维数组的制作,2 .数组编辑器的制作,3.2.2维数组的制作,3.m文件的数组的制作和保存,对于频繁调用的数组,特别是大型复杂的数组, 具有制作特殊的m文件的价值的上机验证diag生成对角形阵列eye生成单位阵列magic生成魔方阵列(上述3种阵列不能高次元应用,只能适用于二维以下) ones生成全1数组zeros生成全0数组rand生成均匀分布随机数组randn生成正态分布随机数组randn(state,0) %使正态随机数发生器为03.2. 2

6、二维数组的生成、3.2.2二维数组的生成、【例】基于标准数组的演示ones (1,2 %表示创建长度为2的所有一行数组ans=11 randn (状态,0 )的3)%发生器23的正规随机数组a=-0.43260.1253-1.1465-1.66560.28771.1909 b=eye (3) %发生器33的单位数组b=。 其中C=diag(A) %是a阵列中的对角元素C=-0.4326 0.2877 D=diag(C) %,并且在一维阵列中生成对角阵列等于(最常见的)指令d=diag(diag(a)d=-的“全部下标”是行下标,列下标a (最常见的) :)A的r行全部元素、行A(:c)A的c列

7、的2个下标构成的2 .“单下标”标记用1个下标表示阵列中的元素的位置,将二维阵列元素按“一维编号”二维阵列的所有列从左到右的顺序,从开头到末尾“一维长列如果s是行阵列(或列阵列),则A(s )是相同长度的行阵列(或列阵列)。单子脚本和完全子脚本的转换关系:以(mn )的二维数组a为例,完全子脚本元素的位置为第r行、第c列,单子脚本为a=(c-1)m r。 MATLAB具有实现这种转换的两个指令: sub2ind从全部下标计算单下标ind2sub从单下标计算全部下标的P113例3.26 (重点)、3.2.3二维阵列元素的标记和探访、3.2.3二维阵列元素的标记和探访、与3.3 a同等大小的发现数

8、组中绝对值大于3的元素a=zeros (2,5,5 )的全部的%预生成25使用全零数组A(:)=-4:5 %全元素代入法,生成与A L=abs(A)3 %生成a同维的0-1逻辑值数组x=a (。 a=-4-2024-3-135 l=10000001 x=-45l的元素为0或1,是“逻辑数组”,是特殊的数据类型。 islogical(L) %判断l是否为逻辑值数组,以A(r,c)=Sa“双下标”方式分配值。 Sa的“行宽、列长”必须与A(r、c )的“行宽、列长”相同。 A(:)=D(: )全要素代入。 结果: a的“行宽,列长”保持不变。 条件: a、d两个数组的元素数相等。 A(s)=Sa“

9、单下标”部分要素代入。 结果: a的“行宽,列长”保持不变。 条件: s单下标数组的长度必须等于一维数组Sa的长度,但s、Sa不一定是“行数组”或“列数组”。 补充:二维阵列的子阵列代入,例子a=zeros (2,4 ) %制作24的全部零阵列a=000000a(:)=133608%全部元素代入方式a=135746a() ans=3 4,补充:二维阵列的部分阵列代入,a (2,3,5 ) %为单下标”,结果如何? 2 3 5 Sa=10 20 30 %Sa是长度为3的“行排列”(也可以是列排列) a (2,3, 5)=sa%单下标方式代入a=12030710468 a(:23 )=ones (

10、2) %双下标代入法: %a的2、3列要素全部设为1a=11171018,补充:二维阵列的子阵列代入,补充:二维阵列的子阵列代入,a (: 3360 1:2:5)=-1 -3 -5 %等号右边的3个数字分别分配给第a2行的1,3,5个元素,位置不足的地方自动补充0a=1700-1-30-5b=a ()的补充:二维阵列的子阵列代入,a(: ) : end ) ans=000-30-5 l=a3l=101101 a (l )=nana=nan7nan数组操作函数(P115表3.23) rot90将数组逆时针旋转90度来提取对角元素, 生成对角排列flipud并上下交换fliplr的左右交换repm

11、at以指定的行数配置模块排列reshape来改变行数,元素数不变的以上的命令是二维排列(reshape只能适用于三维)【例】(1) reshape的使用演示a=-4:4 A=reshape(a,3,3 ) %将一维数组a排序为33个二维数组a=-4-3-2-10123)诊断的使用演示b=诊断(a ) %矩阵对角矩阵生成数组b=诊断(b ) %数组生成3.2.(3) repmat使用演示B1=repmat(B,2,2 ) b1=-40-40000000000000000000000004,3.2。 3.2.4数组操作技术的集成,(4)flipud和fliplr使用演示A1=flipud(A) %

12、上下对称交换a1=-214-3034-2a2=fliplr ()空数组A1=3 0 -3注意:仅删除整行(6)使用6)rot90演示d=rot 2 )反时针旋转180度d=-21-33-4-1,2。a2=2-1- 430-341-2,3.2.4整合阵列操作技术,(7)将阵列的扩展(代入扩展法) d (3,4 )=11 %扩展补充为34阵列。扩展部分除了(3,4 )元素为11以外,其馀部分都是0 d=-2140-30-4-111 d (5, )=22 %扩展为5*4数组d=-2140的d=-214-303-4-12, 3.3数组运算、数组加法、减法、乘法、除法、应该函数的数组运算规则:函数f (.)对数组的运算是相当于对数组的各要

温馨提示

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

评论

0/150

提交评论