vecdist.m

来自「一个关于k最近临法分类的matlab程序」· M 代码 · 共 34 行

M
34
字号
function distmat = vecdist(mat1, mat2)% VECDIST Distance between two set of vectors%	VECDIST(MAT1, MAT2) returns the distance matrix between two%	set of vectors MAT1 and MAT2. The element at row i and column j%	of the return matrix is the Euclidean distance between row i%	of MAT1 and row j of MAT2.%	Roger Jang, Sept 24, 1996.if nargin == 1,	mat2 = mat1;end[m1, n1] = size(mat1);[m2, n2] = size(mat2);if n1 ~= n2,	error('Matrices mismatch!');enddistmat = zeros(m1, m2);if n1 == 1,	distmat = abs(mat1*ones(1,m2)-ones(m1,1)*mat2');elseif m2 >= m1,	for i = 1:m1,		distmat(i,:) = sqrt(sum(((ones(m2,1)*mat1(i,:)-mat2)').^2));	endelse 	for i = 1:m2,		distmat(:,i) = sqrt(sum(((mat1-ones(m1,1)*mat2(i,:))').^2))';	endend

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?