使用向量B计算B的每个元素与产生另一个数组的B的每个其他元素的绝对差值之和

时间:2013-04-03 22:14:44

标签: matlab

所以,例如,给定:

B=[1:10]

res应该是:

res =

    45 37 31 27 25 25 27 31 37 45

res的第一个元素是45,因为

|1-1| + |1-2| + ....+ |1-10| = 45

第二个元素是37,因为

|2-1| + |2-2| + ...+ |2-10| = 37 

等等。

1 个答案:

答案 0 :(得分:4)

代码:

sum(abs(bsxfun(@minus,B,B')));

输出:

ans =

    45    37    31    27    25    25    27    31    37    45