目录
MATLAB向量
MATLAB 行向量:
MATLAB 列向量:
引用向量元素
MATLAB向量的加法和减法
详细例子
MATLAB标量向量乘法
详细例子
MATLAB转置向量
详细例子
MATLAB追加向量
详细例子
MATLAB向量的模
详细例子
MATLAB向量点积
详细例子
MATLAB等差元素向量
详细例子
MATLAB向量
我们可以创建两种 MATLAB 向量类型:
- 行向量
- 列向量
MATLAB 行向量:
创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素。
r = [7 8 9 10 11]
执行上述语句,返回下述结果:
r = 7 8 9 10 11
MATLAB 列向量:
创建列向量括在方括号中的元素的集合,使用分号来分隔的元素。
c = [7; 8; 9; 10; 11]
执行上述语句,返回下述结果:
c = 7 8 9 10 11
引用向量元素
可以参照的向量元素的几种方式中的一种或多种。ith 一个矢量v的分量被称为v(i)。
例如:
v = [ 1; 2; 3; 4; 5; 6]; % creating a column vector of 6 elements v(3)
执行上述语句,返回下述结果:
ans = 3
当引用一个冒号,一个向量,其例如为v(:),该载体上的所有组件的被列出。
例如:
v = [ 1; 2; 3; 4; 5; 6]; % creating a column vector of 6 elements v(:)
执行上述语句,返回下述结果:
ans = 1 2 3 4 5 6
MATLAB允许你选择一个范围从向量的元素。
在下面的例子中,我们创建了一个行向量rv 9个元素,我们将引用元素3至7写rv(3:7),并创建一个新的向量名为sub_rv。
rv = [1 2 3 4 5 6 7 8 9]; sub_rv = rv(3:7)
MATLAB将执行上面的语句,并返回以下结果:
sub_rv = 3 4 5 6 7
MATLAB向量的加法和减法
在 MATLAB 中当进行两个向量的加法与减法的时候,这两个向量的元素必须有相同的类型和数量。
详细例子
MATLAB中创建一个脚本文件,代码如下:
A = [7, 11, 15, 23, 9]; B = [2, 5, 13, 16, 20]; C = A + B; D = A - B; disp(C); disp(D);
运行该文件,产生下述结果:
9 16 28 39 29 5 6 2 7 -11
MATLAB标量向量乘法
MATLAB标量乘法:让一个数字乘以一个向量。
标量乘法会产生相同类型的新的一个向量,原先的向量的每个元素乘以数量。
详细例子
MATLAB中建立一个脚本文件,代码如下:
v = [ 12 34 10 8]; m = 5 * v
运行该文件,产生下述结果:
m = 60 170 50 40
您可以执行所有的标量向量操作。例如,可以相加,相减分割标量向量。
MATLAB转置向量
MATLAB中转置操作能够将一个行向量改变成一个列向量,反之亦然。
MATLAB中转置操作使用一个单引号(')来表示。
详细例子
在MATLAB中建立一个脚本文件,输入下述代码:
r = [ 1 2 3 4 ]; tr = r'; v = [1;2;3;4]; tv = v'; disp(tr); disp(tv);
运行该文件,显示结果如下:
1 2 3 4 1 2 3 4
MATLAB追加向量
MATLAB 允许在原有的向量中附加向量,共同创造新的向量。
如果有两个行向量 r1 和 r2 这两个行向量中各有 n 和 m 个元素,现在创建行向量 r 并将n和m个元素都放在行向量 r 中,通过附加这些载体,编写:
r = [r1,r2]
通过追加这两个向量,向量r2的,也可以建立一个矩阵R,矩阵的第二行编写如下:
r = [r1;r2]
要注意的是,要完成上述操作,上述两个载体中的元素的数量应该相同。
当然,可以附加两个列向量 c1 和 c2 的 n 和 m 的元素个数。要创建一个列向量 c 将 n 加 m 个元素放入其中,通过附加这些载体,编写:
c = [c1; c2]
还可以创建一个矩阵c追加这两个向量;向量c2将第二列的矩阵:
c = [c1, c2]
同样要注意,完成上述操作,上述两个载体中的元素的数量应该相同。
详细例子
在MATLAB中建立一个脚本文件,代码如下:
r1 = [ 1 2 3 4 ]; r2 = [5 6 7 8 ]; r = [r1,r2] rMat = [r1;r2] c1 = [ 1; 2; 3; 4 ]; c2 = [5; 6; 7; 8 ]; c = [c1; c2] cMat = [c1,c2]
运行该文件,显示结果如下:
r = 1 2 3 4 5 6 7 8 rMat = 1 2 3 4 5 6 7 8 c = 1 2 3 4 5 6 7 8 cMat = 1 5 2 6 3 7 4 8
MATLAB向量的模
向量 v 中的元素 v1, v2, v3, …, vn,下式给出其幅度:
|v| = √(v1^2 + v2^2 + v3^2 + … + vn^2)
MATLAB中需要采按照下述步骤进行向量的模的计算:
1.采取的矢量及自身的积,使用数组相乘(*)。这将产生一个向量sv,其元素是向量的元素的平方和V.
sv = v.*v;
2.使用求和函数得到 v。这也被称为矢量的点积向量的元素的平方的总和V.
dp= sum(sv);
3.使用sqrt函数得到的总和的平方根,这也是该矢量的大小V.
mag = sqrt(s);
详细例子
在MATLAB中建立一个脚本文件,代码如下:
v = [1: 2: 20]; sv = v.* v; %the vector with elements % as square of v's elements dp = sum(sv); % sum of squares -- the dot product mag = sqrt(dp); % magnitude disp('Magnitude:'); disp(mag);
运行该文件,显示结果如下:
Magnitude: 36.4692
MATLAB向量点积
MATLAB 中两个向量的点积 a = (a1, a2, …, an) and b = (b1, b2, …, bn) 由以下给定:
a.b = ∑(ai.bi)
下述函数可以计算两个向量 a 和 b 的点积:
dot(a, b);
详细例子
在MATLAB中建立一个脚本文件,代码如下:
v1 = [2 3 4]; v2 = [1 2 3]; dp = dot(v1, v2); disp('Dot Product:'); disp(dp);
运行该文件,显示结果如下:
Dot Product: 20
MATLAB等差元素向量
当一个向量中的元素过多,同时向量的各元素有等差的规律,此时采用直接输入法将过于繁琐。针对该种情况 ,可以使用冒号(:) 来生成等差元素向量。
在 MATLAB 中如何建立一个等差元素向量?解决方法如下。
要建立一个矢量 v 带的第一个元素 f,最后一个元素 l 和元素之间的区别是任何真正的数 n,可以这样写:
v = [f : n : l]
详细例子
在MATLAB中建立一个脚本文件,代码如下:
v = [1: 2: 20]; sqv = v.^2; disp(v);disp(sqv);
运行该文件,显示结果如下:
1 3 5 7 9 11 13 15 17 19 1 9 25 49 81 121 169 225 289 361