一个个标量数据被组织成矩形或长方形的阵列集合,这就是数组(Array)。而每次调用命令将同时地加在数组所含的每个标量元素 上,构成所谓的数组运算。(matlab中,标量被认作只含一个元素的特殊二维数组)。
数值数组(Numeral Array)和数组运算(Array Operations)是MatLab的核心内容。
MatLab是以复数矩阵作为基本的运算单元,向量和标量都作为特殊的矩阵来处理:向量当作只有一行或一列矩阵,标量则为只有一个元素的矩阵。
矩阵只是数组的一种特例,它是二维的数值型数组,表示了一种线性变换关系。
矩阵的概念:从外观和数据结构上看,二维数组和数学中的矩阵没有区别。但是,矩阵作为一种变换或影射算子的体现,矩阵运算有着明确而严格的数学规则
矩阵运算——》按照线性代数的运算规则进行
数组运算——》对数组中的每个元素进行同样的运算
MATLAB精心设计数组和数组运算的好处:
①使计算程序简单、易读,使程序命令更接近于教科书上的数学计算公式;
②提高程序的向量化程度,提高计算效率,节省计算机资源。
数值数组的生成和寻访:
⑴逐个元素输入法
对于较小的简单的数组,从键盘上直接输入,需要遵循以下几个原则: 数组(矩阵)中每一行的元素必须用空格或逗号分开 在数组(矩阵)中,用分号或回车行表明每一行的结束 整个输入数组(矩阵)必须包含在方括号中
⑵冒号生成法
x=first:last
创建从first开始,加1计数,到last结束的行向量x
x=first:increment:last
创建从first开始,加增量计数,到last结束的行向量x。 increment可以是负数,或省略则默认为1。 若inc>0但是first大于last,或者inc<0但是last大于first,则X是空向量。
⑶定数线性采样法
x=linspace(first,last,n)
在设定总点数的情况下,均匀采样生成一维行数组。 创建从first开始,到last结束,有n个元素的行向量x。 n省略默认为100。
⑷利用M文件
对于经常需要调用的且比较大的数组,可专门为该数组创建一个M文件。
通过数组编辑器生成矩阵 步骤:先建立空矩阵a=[], 然后在工作空间(workspace)中点开a进入数 组编辑器,输入元素。
简单数组创建
常用数组生成
数组运算常用函数
数组运算和矩阵运算(注意区别!!!!)
非数和空数组
Not a Number ——>NaN nan
0/0,∞/∞,0×∞等运算
Nan参与运算所得的结果也是nan(传递性)非
数没有大小的概念。真
实表示0/0等运算结果避
免因为这类异常运算而造成的程序中断在
数据可视化中用来裁剪图形
(1)Matlab没有定义专门的逻辑变量,在所有关系、逻辑表达式中,作为输入的任何非0数都被看成是“逻辑真”,只有0被认为是“逻辑假”
(2)所以关系和逻辑表达式的计算结果,是一个由0和1组成的“逻辑数组”
(3)逻辑数组是一种特殊的数组,与“数组类”有关操作和函数对它同样适用
关系运算
<、<=、>、>=、==、~ =
标量可以与数组比较,比较在此标量和数组的每个元素之间进行,比较结果与被比较数组同维 数组与数组比较必须维数相同,对相同位置数进行对比
逻辑运算
& 与、 | 或、 ~ 非
字符串数组
字符变量的创建
A=‘机械工程及自动化’
字符串转换函数