MATLAB计算矩阵间的欧式距离(不用循环!)

MATLAB编程题

题目描述:从一个NxM的矩阵C中找出与1xM的矩阵P欧氏距离最小的某一行row,要求不能用循环!!!

输入:矩阵C(NxM)、矩阵P(1xM)

输出:row


解题思路:

MATLAB计算矩阵间的欧式距离(不用循环!)_第1张图片

MATLAB计算矩阵间的欧式距离(不用循环!)_第2张图片


程序:

function[row]=matchest(C,P)
[N,M]=size(C);
Distance=zeros([1,N]);
Distance=sqrt(P.^2*ones(size(C'))+ones(size(P))*(C').^2-2*P*C');
[minValue,row]=min(Distance);

MATLAB计算矩阵间的欧式距离(不用循环!)_第3张图片


你可能感兴趣的:(MATLAB计算矩阵间的欧式距离(不用循环!))