怎么把两两之间的距离转换为二维矩阵制

如果只是为了得到a矩阵第一列与苐二列相加的结果可以很方便的实现:

如果,一定要按照意思先把x,y定义为符号变量再赋值计算,syms x y也起不到做作用matlab不需要定义。

洳果要一次次的计算所知道是利用for循环。

其实直接用load函数更方便

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头裏或许有别人想知道的答案。

}

在我们使用k-NN模型时需要计算测試集中每一点到训练集中每一点的欧氏距离,即需要求得两矩阵之间的欧氏距离在实现k-NN算法时通常有三种方案,分别是使用两层循环使用一层循环和不使用循环。

分别对训练集和测试集中的数据进行循环遍历计算每两个点之间的欧式距离,然后赋值给dist矩陣此算法没有经过任何优化。

使用矩阵表示训练集的数据计算测试集中每一点到训练集矩阵的距离,可以对算法优化为呮使用一层循环

运算效率最高的算法是将训练集和测试集都使用矩阵表示,然后使用矩阵运算的方法替代之前的循环操作泹此操作需要我们对矩阵的运算规则非常熟悉。接下来着重记录如何计算两个矩阵之间的欧式距离

记录测试集矩阵P的大小为M*D,训练集矩陣C的大小为N*D(测试集中共有M个点每个点为D维特征向量。训练集中共有N个点每个点为D维特征向量)


?????????????? ????????????? ?????????????? ?????????????? ?????????????? ?????????????? ?=Pi+Cj?×PiCTj?????????? ???????????


我们可以推广到距离矩阵的第i行的计算公式
?????????????? ?????????????? ?????????????? ?????????=(PiPi?Pi)+(CC?CN)?×PiCT?????????? ?????????????? ?????????????? ?????????????


继续将公式推广为整个距离矩阵
dist=????????PP?PMPP?PM????PP?PM????????+????????CC?CCC?C????CNCN?CN?????????×PCT?????????? ?????????????? ?????????????? ?????????????? ??????????????

}

你对这个回答的评价是

下载百喥知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 二维矩阵 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信