1.向量及其操作
matlab是英文Matrix Laboratory(矩阵实验室)的简称,是基于矩阵运算的操作环境。matlab中的所有数据都是以矩阵或多维数组的形式存储的。向量和标量是矩阵的两种特殊形式
向量是指单行或者单列的矩阵,它是构成矩阵的基础
1.1 向量赋值
赋值就是把数赋予代表常量或变量的标识符。matlab中的变量或常量都代表矩阵,标量可以看成是1X1的矩阵,向量则可以看成是1XN(行向量)或NX1的矩阵。赋值语句一般形式是“变量=表达式(或数)”
对于变量的赋值有以下几种方法:
(1)用向量构造操作符(方括号[ ])和数值给向量赋值
上面得到的x是行向量,行向量放入中括号[ ]中,其中的数值之间用逗号或者空格隔开。如果要得到列向量,则数值之间用分号隔开。
当然也可以通过转置运算符“ ' ”来将行向量和列向量进行转换
(2)用冒号表达式给向量赋值
matlab定义了独特的冒号表达式给行向量进行赋值,其基本格式如下:
j:k 等价于[j, j+1,...,k]
j:k 为空,if j > k
j:i:k 等价于[j:j+i:j+2i,...,k]
例如用冒号表达式生成行向量
(3)用函数给向量赋值。
linspace(),logspace(),zeros(),ones(),rand(),randn()等函数可以用来生成向量
Matlab中linspace函数用法_matlab linspace-CSDN博客
matlab中zeros函数的使用方法详细介绍(附matlab代码)_matlab zeros函数-CSDN博客
(其他函数的用法可去自行搜索)
1.2向量操作
向量操作可以是针对向量中的某个元素或某几个元素,也可以是将整个向量当作整体来进行的元素群操作
对向量中的某个或某几个元素进行操作比较简单,仅仅使用小括号()加上元素在向量中的序数即可。可以用其完成对元素值的调用、对元素赋值或者改变其值。需要特别指出的是,采用end作为序数可以方便地对向量的最后一个元素进行操作,也可以使用(end-1)、(end-2)等对向量的倒数第二个、倒数第三个元素进行操作。
例如要将向量x中的第3个元素和最后一个元素互换,并显示互换后的结果
在向量元素值的调用过程中,如果小括号内的序数超过向量元素的个数,则会报错;但是如果是在对向量元素进行赋值的过程中,当小括号内的序数超过向量元素的个数时,则会完成赋值,并进行补0处理
1.3向量化操作
很多标准的matlab函数都能进行“向量化”:他们可以用于整个阵列,看起来就像很多个相同的函数独立地作用于阵列的每个元素。如
常用于向量化运算的函数有:min(),max(), repmat(), meshgrid(), sum(), cumsum(), diff(), prod(), cumprod(), accumarray(), filter()。