MATLAB的数组
数组
数组的创建
(1)直接输入法
1、建立数组最直接的方法是在命令窗口直接输入数组
2、数组元素间用空格,逗号或分号分隔。
3、空格和逗号分隔建立行向量,元素之间用分号分隔建立列向量。
调用格式:
vec=[a1,a2,...]其中vec是数组名,a1、a2是数组元素。
(2)冒号生成法
利用冒号生成法建立等差数列构成的行向量
调用格式:
vec=a:h:b
vec是向量名,a,h,b为给定数值,分别表示向量初值、步长和终值。
1、若h=1,可省略
2、步长h可正可负,也可以是小数。 h为负值时,b必须小于a,生成降序数组。
3、b并非尾元素数值,当b-a为h的整数倍时,b才是尾元素数值。
例1:
例1中,a2是0为初值,0.3为步长,1为终值的递增等差数列。
a3是默认步长为1的等差数列
a4是步长为负的递减等差数列
(3)线性等分数组生成法
linspace函数生成从a到b之间线性等分的n维行向量
调用格式:vec=linspace(a,b,n)
a,b,n表示生成向量的初值、终值、数组维数。
1、数组维数n可以省略,省略时默认为100。
2、线性等分函数和冒号生成法都可以建立等分数组,线性等分函数设定了数组的维数去创建等分数组,冒号生成法设定步长从而确定数组维数,创建等分数组。
(4)对数等分数组生成法
使用对数等分函数logspace生成从10的a次方到10的b次方之间按对数等分的n维行向量
调用格式:vec=logspace(a,b,n)
a,b,n表示生成向量的初值、终值和数组维数。
例2
1、维数n可省略,省略时默认为50。
2、此向量取以10为底的对数可生成等比数组。
(5)矩阵的创建
将矩阵看作是m行n列的二维数组,创建方法和数组类似,使用[]、,、;和空格等生成。
数组元素的访问
(1)访问单个元素
(2)访问部分元素
1、在下标表达式里用冒号表示矩阵的一部分。a(1:k,j)表示矩阵a的第j列的前k个元素;a(i,: )表示矩阵a的第i行的所有元素.
2、使用向量作为元素的下标访问元素。x([a b c d])表示调用数组x的第a,b c d个元素构成一个新数组[x(a) x(b) x(c) x(d)]
3、直接使用元素序号访问数组元素例
数组元素的查找
查找函数find,用于查找数组中的非零元素并返回其所在位置。(位置的判定:从一列开始,自上至下)
命名格式:
[a,b,...]=find(x)——[a,b,..]是非零元素的全下标
或是n=find(x)——n是非零元素的单下标
找的是元素所在的位置
















