a = [4 2 5 9]
我必须使用for循环编写代码来获取以下向量:
[4-2 4-5 4-9 2-5 2-9 5-9]
我怎样才能在MATLAB中做到这一点?
答案 0 :(得分:4)
您不需要for
循环:
result = tril(bsxfun(@minus,a(:).',a(:)),-1);
ind = tril(reshape(1:numel(result),size(result)),-1);
ind = ind(ind>0);
result = result(ind).'
答案 1 :(得分:0)
a = [ 4 2 5 9]
a =
4 2 5 9
s = combnk(a, 2)
s =
5 9
2 9
2 5
4 9
4 5
4 2