【发布时间】:2015-03-13 16:55:14
【问题描述】:
我正在尝试编写一个函数SSD,它采用两个 m x 1 向量并计算平方差之和。
我正在使用向量测试我的 SSD 功能:
a = [0.5, -0.2, 1.7]';
b = [0.2, 0.9, 0.45]';
我期待答案2.862500,但我得到的结果是0.947500
我的功能如下:
function [ z ] = SSD( a, b )
z = sum( a(:,1) - b(:,1).^ 2 );
end
我认为Z = sum( (Ai - Bi).^ 2 ) 是计算平方差和的正确方法是否正确?如果是这样,为什么我的功能不能正常工作?
【问题讨论】:
-
z = sum( (a(:,1) - b(:,1)).^ 2 );? -
或
z = sum( (a - b).^2 ) -
一些替代方案:
norm(a-b)^2,pdist2(a(:).',b(:).')^2
标签: matlab