第二讲向量的距离与夹角余弦22853

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
计算向量之间夹角的余弦还可以用命令: B=1-pdist(A,’cosine’) 计算矩阵A的行向量之间的夹角余弦
如例1 a=[1,2,3], b=[-1,5,6],c=[1,0,1], 求a,b ,c之 间的夹角余弦
解:输入:A=[a;b;c]; B=1-pdist(A, 'cosine')
(3)n = norm(A,inf) 矩阵A的行范数(无穷大范数) 等于A的最大行之和.
(4)n = norm(A, 'fro' ) 矩阵A的Frobenius范数.

记为: N ( A)
a
2 ij
i,j=1
Matlab实验(二)
7/38
3) 方阵的谱半径: 方阵A的特征值的绝对值之最大值称为A的
dist(A,B)结果是一个a Ⅹb 阶上三角形矩阵 d(i, j)表示A的第i个行向量与B的第j个列向量 之间欧氏距离
Matlab实验(二)
12/38
如果X是m个n维行向量所组成的矩阵,则有:
Pdist(X) — 样本X中各n维向量的欧氏距离
注意:X是mn矩阵 而pdist(X)是个一行
C
2 m
dot(a,b)=27, cross(a,c)=(2,2,-2)
练习:计算a,b,c 的混合积 a(bc) 解: a,b,c 的混合积为:dot(a,cross(b,c))
Matlab实验(二)
4/38
2.矩阵的范数与向量的标准化 1)Matlab 中向量 a 的范数为:norm(a)
若 a (x 1 ,x 2 ,.x .n ) .则 ,,no (a ) rm nx i2
3/38
1. 向量的数量积,矢量积 设 ( x 1 , x 2 ,x . n ) . ; . ( y 1 , y 2 ,y . n ) ..,
Matlab 中数量积:dot(a,b);矢量积:cross(a,b) 例如:a=[1,2,3], b=[-1,5,6],c=[1,0,1]则
Matlab实验(二)
17/38
d1=(pdist(Apf))'; d2=(pdist(Apf,'cityblock'))'; d3=pdist(Apf,'mahal'))';
输出结果为Apf蠓虫之间的各类距离为含有15个 元素的列向量
d=[d1,d2,d3]
将输出结果变化为15行3列的矩阵 结果见表1 同理可以求得Af蠓虫之间的各类距离。结果见表2
还可以用什么命令?
mandist(c,b')=12
与绝对距离比较 你发现了什么?
dist(a,b')=4.6904, dist(a,c')= 2.8284 dist(c,b')= 7.3485
Matlab实验(二)
15/38
(3)闵可夫斯基距离与马氏距离 设样本X是m个n维行向量所组成的矩阵,则有:
n
d(,) (xi yi)2 i1
n
d(,) | xi yi | i1
称为 与 的欧氏距离 称为 与 的绝对距离
Matlab实验(二)
10/38
闵可夫斯基距离: d(,){ n|xiyi|r}1/r i1
当 r=1,2 时分别为绝对距离和欧氏距离
马氏距离: d (,)() V 1 () T
Apf=[1.14,1.78;1.18,1.96;1.2,1.86;1.26,2.;1.28,2; 1.30,1.96] ;
Af=[1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82; 1.38,1.90 ; 1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];
0.1800 0.3400 0.4000 0.6800 0.1200 0.1000 0.1800
d26 0.0566 0.0800
d27 0.1442 0.2000
d28 0.1970 0.2600
d29 0.3945 0.5400
d34 0.1800 0.1800
d35 0.2600 0.2600

矩阵。各列分别表示X中各行向量按如下顺序
的距离
(1,2),(1,3),…(1,m),(2,3),(2,4),…(2,m),…(m-1,m)
例4. a=[1,2,3],b=[-1,5,6],c=[1,0,1]求a,b,c欧氏距离
解:输入:a1=dist(a,b'),a2=dist(a,c'),a3=dist(c,b')
18/38
.Af
Af蠓 欧氏距 绝对距
d12 0.1217 0.1400
表 d13 二 d14
0.1612 0.1720
0.2200 0.2400
d15 0.2280 0.3200
蠓 d16 虫 d17 之 d18 间 d19 的 d23 距 d24 离 d25
0.1612 0.2600 0.3162 0.4817 0.1020 0.0825 0.1612
谱半径 记为:(A)m ax{|i |}
4 6 0
例3.求矩阵 A 3 5 0 的谱半径
3 6 1
由eig(A)知矩阵A的特征值分别为1,-2,1。
(A)2
Matlab实验(二)
8/38
4)矩阵的行向量、列向量标准化的命令: normr(A),normc(A)
(normr(A)表示将矩阵每一行除以该行的范数)
1 2 3
例3.
将矩阵A


4
5
6

的行向量与列向量标准化
7 8 0
解:A=[1,2,3;4,5,6;7,8,0];B=normr(A),C=normc(A)
也可以输入命令:b(1)=norm(A(1,:)); 求出A矩阵个各行的 b(2)=norm(A(2,:)); 范数,转置后变为3*1 b(3)=norm(A(3,:)); 阶矩阵,
其中 V是一个实对称正定矩阵,通常取样 本的协方差矩阵,当V=E时即为欧氏距离. 以上距离,在Matlab (6.)中有命令: pdist 具体如下:
Matlab实验(二)
11/38
(1)欧氏距离:
如果A是aⅩm阶矩阵,B是m Ⅹb 阶矩阵.即 A的行向量维数等于B的列向量维数.
Matlab中命令:dist(A,B)计算A中每个行向 量与B中每个列向量之间欧氏距离.
注意:X是mn矩阵 而pdist(X)是个一行
C
2 m

矩阵。各列分别表示X中各行向量按如下顺序
的距离
(1,2),(1,3),…(1,m),(2,3),(2,4),…(2,m),…(m-1,m)
Matlab实验(二)
14/38
例5. 求例2中向量之间的绝对距离.
解: mandist(a,b')=8; mandist(a,c')=4;
或者输入:A=[a;b;c];pdist(A)
Matlab实验(二)
13/38
(2)绝对距离:
Matlab中命令:mandist(A,B)计算A中每 个行向量与B中每个列向量之间绝对距离, A的行向量维数必须等于B的列向量维数.
设样本X是m个n维行向量所组成的矩阵,则有:
Pdist(X, 'cityblock') — 各n维向量的绝对距离
Matlab实验(二)
Apf蠓虫 d12 d13 d14 d15 d16 d23 d24 d25 d26 d34 d35 d36 d45 d46 d56
欧氏距离 0.1844 0.1000 0.2506 0.2608 0.2408 0.1020 0.0894 0.1077 0.1200 0.1523 0.1612 0.1414 0.0200 0.0566 0.0447
20/38
3.特殊矩阵及其应用
在Matlab中经常遇到下列运算:
A=[1,2 ; 3,4],若将A中每个元素都减去2,
如何运算?
A-2可否?
A=[1,2;3,4],若将A的每一行都减去 向量(1,2)如何运算? A-(1,2)可否?
前者可以进行,后者不行,如何实现 ?
通过特殊矩阵将加减运算变为可以进行 的运算.
Af蠓 d37 d38 d39 d45 d46 d47 d48 d49 d56 d57 d58 d59 d67 d68 d69 d78 d79 d89
欧氏距 0.2059 0.2408 0.4754 0.0800 0.1217 0.1000 0.1600 0.3162 0.2019 0.1281 0.1789 0.2546 0.1442 0.1844 0.4123 0.0600 0.2720 0.2608
绝对距 0.2800 0.3400 0.6200 0.0800 0.1400 0.1000 0.1600 0.4400 0.2200 0.1800 0.2400 0.3600 0.2000 0.2600 0.5400 0.0600 0.3400 0.2800
马1氏9/3距8
1.3971 1.6847 3.4103 0.7917 1.3659 1.2987 2.0780 2.1271 2.1520 1.8990 2.6482 1.8449 0.9689 1.4149 2.9389 0.7792 2.0832 2.4183
Md3a6 tlab0实.063验2 (二0.0)800
马氏距 1.4423 2.3963 1.4225 1.5517 2.2078 2.6110 3.3635 3.3694 1.1705 0.6601 1.4345 0.8277 1.2266 1.9404 2.6612 1.7814 2.5731 0.4756
Matlab实验(二)
绝对距离 0.2200 0.1400 0.3400 0.3600 0.3400 0.1200 0.1200 0.1400 0.1200 0.2000 0.2200 0.2000 0.0200 0.0800 0.0600
马氏距离 2.5626 0.9883 2.4942 2.5318 2.5478 2.2507 1.5470 2.0430 3.0777 1.6534 1.5873 1.6025 0.5129 1.6616 1.1764
i 1
事实上,范数的平方=向量 a自身的数量积 例1 a=[1,2,3], b=[-1,5,6],c=[1,0,1], 求a,b的范数
解:norm(a)= 3.7417 , norm(b)=7.8740
练习:对例1计算:a,b夹角的余弦 解法一: dot(a,b)/norm(a)/norm(b) 解法二: dot(a/norm(a),b/norm(b)) =0.9164 思考:a,b,c三个向量那两个更接近?
Pdist(X, 'Minkowski',r) — 闵可夫斯基距离
Pdist(X, 'mahal') — 各n维向量的马氏距离
注意:
X是mn矩而阵pdist(X)是个一行
C
2 m

矩阵。各列分别表示X中各行向量按如下顺序 的距离
(1,2),(1,3),…(1,m),(2,3),(2,4),…(2,m),…(m-1,m)
Matlab实验(二)
16/38
例6. 现测得6只Apf和9只Af蠓虫的触长,翅长数据如下:
Apf:(1.14,1.78), (1.18,1.96), (1.20,1.86), (1.26,2.00), (1.28,2.00), (1.30,1.96) Af:(1.24,1.72), (1.36,1.74), (1.38,1.64), (1.38,1.82), (1.38,1.90), (1.40,1.70), (1.48,1.82),(1.54,1.82), (1.56,2.08) 计算两类蠓虫的各自之间的欧氏、绝对、马氏距离 解:输入
什么意思?? c=b’*ones(1,3); B=A./c
Matlab实验(二)
9/38
2.常见的向量距离
n维欧氏空间:设 R n 表示n维向量 (x1,x2,...,xn)
的全体所组成的集合,称为n维欧氏空间
如果
( x 1 ,x 2 ,. . . ,x n ) ; ( y 1 ,y 2 ,. . . ,y n )
输出结果为:B = 0.9164 0.7559 0.4490
Matlab实验(二)
6/38
2) 矩阵的范数有以下几种:
(1) n = norm(A) 矩阵A的普范数(2范数), = A’A的最大特征值的算术根 .
(2) n = norm(A,1) 矩阵A的列范数(1-范数) 等 于A的最大列之和.
相关文档
最新文档