- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章matlab数值数组及其运算己已改,matlab数组运算,matlab中数组运算,开运算matlab数组,matlab数值运算,matlab数组,matlab字符串数组,matlab定义数组,matlab二维数组,matlabcell数组
第二章 数值数组及其运算
数值数组(Numeric Array)和数组运算(Array Operations)是MATLAB的核心内容。
本章系统阐述:数值数组的创建、寻访;数组运算和矩阵运算的区别;实现数组运算的基本函数;常用标准数组生成函数和数组构作技法;;关系和逻辑操作;
*高维数组的创建、寻访和操作;非数NaN、“空”数组概念和应用。
2.1 导言
数组是指由一组实数或复数排成的长方阵列(Array)。它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的“若干同维矩形的堆叠”,甚至更高的任意维。
数组运算是指:无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)平等地实施同样的操作。
MATLAB精心设计数组和数组运算的目的在于:
①使计算程序简单、易读,使程序指令更接近于教科书上的数学计算公式;
②提高程序的向量化程度,提高计算效率,节省计算机开销。
2.2 一维数组的创建和寻访
2.2.1 一维数组的创建
(1)逐个元素输人法
(2)冒号生成法:通过“步长”设定,生成一维“行”数组。
该方法的通用格式是: x=a : inc : b
(3)定数线性采样法:在设定的“总点数”下,均匀采样生成一维“行”数组。
该法的通用格式是: x=linspace(a,b,n)
2.2.2 一维数组的子数组访寻和赋值
【例】自学
2.3 二维数组的创建
二维数组是由实数或复数排列成矩形而构成的。从数据结构上看,矩阵和二维数组没有什么区别。
二维数组必须有以下三个要素:
(1)整个输入数组必须以方括号“[ ]”为其首尾;
(2)数组的行与行之间必须用分号“;”或用回车键隔离;
(3)数组元素必须由逗号“,”或空格分隔。
【例】演示或自学
2.4 二维数组元素的标识
首先阐述单个元素标识和寻访的三种方式。
1“全下标”标识 ——指出是“第几行,第几列”的元素。
这种标识方法几何概念清楚,引述简单,在数组的寻访和赋值中最为常用。
对于二维数组来说,“全下标”标识由两个下标组成:行下标,列下标。
如A(3,5)就表示在二维数组A的“第3行第5列”的元素。
2“单下标”标识
“单下标(Linear Index)”标识就是“只用一个下标来指明元素在数组中的位置”。这样做,首先要对二维数组的所有元素进行所谓“一维编号”:
先设想把二维数组的所有列,按先左后右的次序、首尾相接排成“一维长列”;然后,自上往下对元素位置进行编号。
“单下标”与“全下标”的转换关系:以(m*n)的二维数组A为例,若“全下标”元素位置是“第r行,第c列”,那么相应的“单下标”为l=(c—1)*m+r。
MATLAB有两个指令可以实现以上标识方法间的转换:
sub2ind 据全下标换算出单下标。
ind2sub 据单下标换算出全下标。
3 “逻辑1”标识
在实际使用中,常会遇到诸如寻找数组中所有大于某值的元素的问题。
此时,“逻辑1”标识法就特别得心应手。
【例2.4-1】P45
%exm024_1.m
A=zeros(2,5); %预生成一个(2*5)全零数组
A(:)=-4:5 %运用全元素赋值法获得A
L=abs(A)3 %产生与A同维的0-1逻辑值数组
islogical(L) %判断L是否逻辑值数组。输出若为1,则是。
X=A(L) %把L中逻辑值1对应的A元素取出
2.5 二维数组的子数组寻访和赋值格式汇总表
格式 使 用 说 明 A(r,c) 它由A的“r指定行”和“c指定列”上的元素组成 A(r,:) 它由A的“r指定行”和“全部列”上的元素组成 A(:,c) 它由A的“全部行”和“c指定列”上的元素组成 A(:) “单下标全元素”寻访。它由A的各列按自左至右的次序,首尾相接而生成“一维长列”数组 A(s) “单下标”寻访。生成“s指定的”一维数组。
s若是“行数组”(或列数组),则A(s)就是长度相同的“行数组”(或“列数组”) A(L) “逻辑1”寻访,生成“一维”列数组:由与A同样大小的“逻辑数组”L中的“1”元素选出A的对应元素;按“单下标”次序排成长列组成 A(r,c)=Sa 以“双下标”方式,对子数组A(r,c)进行赋值:
Sa的“行宽、列长”必须与A(r,c)的“行宽、列长”相同 A(:)=D(:) 全元素赋值方式。结果:保持A的“行宽、列长”不变。
条件:A、D两个数组的总元素数相等,但“行宽、列长”不一定相同 A(s)=Sa 按“单下标”方式,对A的部分元素重新赋值。结果:保持A的“行宽,列长”不变。条件:s单下标数组的长度必须与
文档评论(0)