Matlab内矢量和排列(超详细)文章目录Matlab内的矢量和排列)超详细) Matlab内的矢量是形成矢量的大小索引的矢量数值索引、逻辑索引、缩短矢量运算、算术运算sum )、min floor )切片Maltab数组创建属性数组数组访问数组元素数组运算数组算术运算数组的逻辑运算sum ()、max )、min )、round )、ceil )、floor )、fix ) )
Matlab中的矢量介绍
matlab向量是一个只有一行元素的数组,向量中的各个项目通常称为元素。 Matlab的向量索引值从1开始,而不是0。
创建向量直接输入值
例如:
这里可以用逗号分割,也可以用空格分割
使用冒号输入数值范围的值。 例如,如果C=1:4:20,则第一个数字是起始值,第二个数字是步骤,第三个数字是终止值。 当步长为1时,可以不写步长例如:
使用函数linspace(cdots ) :在两个限定值之间创建固定数量的值。 例如:
这里,最初数字是开始值,第二个数字是结束值,第三个数字是该区间的矢量的个数
函数Zeros(1,n ) :建立全零的向量,例如:
其中,第一个数字是数组的行数,第二个数字是数组的列数。
函数ones(1,n ) :生成全部1的向量,例如:
其中,第一个数字是数组的行数,第二个数字是数组的列数。
rand(1,n ) :创建0~1之间的随机数的向量,例如:
的向量大小Matlab提供了两个函数来确定普通数组和特殊向量的大小:size (和length )。
size () :返回向量中的行数和列数。 因为向量是一维的,所以第一个输出每次都是1
length ) :返回数组矩阵大小的最大值,矢量表示其长度,例如:
通过在括号中输入零个(所有输出)或多个元素的索引值,可以单独或分组访问索引向量。 可以通过以下两种方式之一访问和使用向量中的元素:
通过在括号中输入零个或多个元素的索引值,可以单独或分组访问数字索引。
例:
此外,索引环境中的关键字end表示向量最后一个元素的索引
*注意: * *如果在MATLAB中为赋值操作输入的索引超出当前边界,MATLAB将自动扩展,空位将使用零填充。 例如,在这个例子中输入a(10 )看看会发生什么。
请看逻辑索引的示例:
您创建了condition逻辑数组,并从数组中索引了此向量
如果要缩短向量,必须从向量中删除元素。 您可以通过索引将要删除的部分分配给“”
但是,缩短向量不是正确的方法。 如果可能,必须使用索引复制需要保存的元素,因为这可能会导致逻辑问题。
可知向量运算向量内的加减运算将向量内的各要素相加。 减法也是一样
向量上的乘法、除法.例
向量内的指数
. * .和*的区别:
对于矩阵和数字之间的运算, * .和*变化不大,但对于矩阵和矩阵之间, *.* .表示矩阵对应元素的乘法,*表示矩阵的乘法。
由运算向量的逻辑运算生成的逻辑结果向量。
例如:
逻辑与()和逻辑或(|):
例如:
find()
:可以用find()函数查找值为true的元素在一个逻辑向量中的索引值例如:
sum()、min()、max()、round()、ceil()、floor()、fix()
sum():向量中元素的总和;
min()、max():返回向量中元素最小最大值;
round()、ceil()、floor()、fix():常规取整、向上取整、向下取整、向零取整
切片操作能将一个向量中的指定元素复制到另一个向量的不同位置。
看一个简单的例子:
向量是聚集相似数据集的最简单的方法。而数组是向量的拓展,使其包括多个维度的数组,其中二维数组是每行具有相同的列,并且每列具有相同的行。
数组的属性 size():返回各个维度的大小 length():返回数组的最大维度创建数组
直接输入值
和向量一样,在数组中直接输入值时,可以使用分号(;)或以新的一行来表示换行
zeros(m,n):创建m行n列的全0的数组
rand(m,n):创建m行n列的0~1随机数的数组
randn(m,n):创建m行n列的正态分布随机数的数组
diag():返回对角线上的元素
访问数组元素数组的索引是从列开始,从上往下依次为1,2,3 , ⋯ cdots ⋯
例如:
例子:
数组之间的乘法数组和数字的乘法:对应元素相乘
例子:
数组与数组的乘法( ∗ * ∗):一定要符合矩阵可乘。
例子
数组与数组之间的 . ∗ .* .∗:对应元素相乘:
例子:
数组的逻辑运算如果两个数组具有相同的大小,或者其中一个数组是标量(及长度为1的向量),逻辑运算可以同时执行在这两个数组的各个元素上。
例如
sum():返回一个行向量,包含该数组每列的总和
max()和min():分别返回一个行向量,每列的最大值和每列的最小值
连接数组看一个简单的例子
对一个数组进行切片:A(对行索引,对列索引)
例子:
有些时候我们希望将某一维度的数组变形为另一种维度的需求,函数reshape( ⋯ cdots ⋯)能完成这种边形。
例子: