1.向量的生成
向量的生成有直接输入法、冒号法和利用MATLAB函数创建3种方法。
直接输入法
生成向量最直接的方法就是在命令行窗口直接输入,格式如下:
向量元素用"[]"括起来
元素之间可以用空格、逗号或分号隔离
说明:
用空格和逗号分隔生成行向量,用分号分隔生成列向量。
x = [2 4 6 8]
x = [1;2;3]
冒号法
基本格式是x=first:increment:last,表示创建一个从first开始,到last结束,数据增量为increment的向量。若增量为1,上面创建向量的方式简写为x=first:last。
本实例创建一个从0开始,增量为2,到10结束的向量x。
x = 0:2:10
利用函数linspace创建向量
llinspace通过直接定义数据元素个数,而不是数据元素之间的增量来创建向量。调用格式如下
linspace(first_value,last_value,number)
调用格式表示创建一个从first_value开始last_value结束,包含number个元素的向量。
创建一个从0开始,到10结束,包含6个数据元素的向量x
x = linspace(0,10,6)
利用函数logspace创建一个对数分隔向量
与linspace一样,logspace也通过直接定义向量元素的个数,而不是数据元素之间的增量来创建数组。调用格式如下:
logspace(first_value,last_value,number)
表示创建一个从10^first_value开始到10的last_value次方结束,包含number个元素的向量。
本实例创建一个从10开始,到10的三次方结束,包含三个元素的向量x
x = logspace(1,3,3)
向量元素的引用
向量元素的引用见下表所示
格式 | 说明 |
---|---|
x(n) | 表示向量中的第n个元素 |
x(n1:n2) | 表示向量中的第n1到n2个元素 |
x = [1 2 3 4 5];
x(1:3)
向量运算
向量可以看成是一种特殊的矩阵,因此矩阵运算对向量同样适用。
向量的四则运算
向量的四则运算与一般数值的四则运算相同,相当于将向量中的元素拆开,分别进行加减四则运算,最后将运算结果重新组合成向量。
% 首先对向量定义赋值
a = logspace(1,5,6)
% 进行向量加法运算
a + 10
% 进行向量减法运算
a - 1
% 进行乘法运算
a * 5
% 进行除法运算
a = [2,4,5,3,1];
a/2
% 进行简单加减运算
a-2+5
向量的点积运算
对于向量a,b,其点积可以用a.*b得到,也可以直接用命令dot算出,命令调用格式如下表所示。
调用格式 | 说明 |
---|---|
dot(a,b) | 返回向量a和b的点积,需要说明的是,a和b必须同维。另外当a和b都是列向量时,dot(a,b)等同于a.*b |
dot(a,b,dim) | 返回向量a和b在dim维的点积 |
a = [2,4,3,5,1];
b = [3 8 10 12 13];
c = dot(a,b);
向量的叉积运算
在空间几何学忠,两个向量叉乘的结果是一个过两相交向量交点且垂直于两向量所在平面的向量。
在MATLAB中,向量的叉积运算可以由函数cross来实现。cross函数调用格式如下表。
调用格式 | 说明 |
---|---|
cross(a,b) | 返回向量a和b的叉积,需要说明的是a和b必须是三维的向量 |
cross(a,b,dim) | 返回向量a和b在dim维的叉积。需要说明的是a和b必须有相同的维数,size(a,dim)和size(b,dim)的结果必须为3 |
a = [2,3,4];
b = [3,4,6];
c = cross(a,b)
向量的混合积
a = [2,3,4];
b = [3,4,6];
c = [1 4 5];
d = dot(a,cross(b,c))