向量 v 中的元素 v1, v2, v3, …, vn,下式给出其幅度:
|v| = √(v1^2 + v2^2 + v3^2 + … + vn^2)
MATLAB中需要采按照下述步骤进行向量的模的计算:
采取的矢量及自身的积,使用数组相乘(*)。这将产生一个向量sv,其元素是向量的元素的平方和V.
sv = v.*v;
使用求和函数得到 v。这也被称为矢量的点积向量的元素的平方的总和V.
dp= sum(sv);
使用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 中两个向量的点积 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 中如何建立一个等差元素向量?解决方法如下。
要建立一个矢量 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