假设给出一个矩阵,比如d。
d=[1.32 4.354 6.78 4.56;
4.65 3.23 2.34 8.9;
2.32 7.65 4.98 2.78]
我需要选择值,使得选择的两个值不相同。假设我想使用Matlab以1的增量选择5个值。
for ii=1:5
% pick value one by one such that no two values chosen are same
end
循环应该像这样运行:
ii=1, d'=4.354
ii=2, d'=4.354 2.32
不应该是:
ii=2, d'=4.354 4.354
答案 0 :(得分:2)
如果您想为d
选择唯一值,只需使用unique
删除重复项,然后选择:
ud = unique( d(:) ); % note the (:) - we want element-wise unique and not row-unique
ud(1:5) % picks first fiver unique elements
答案 1 :(得分:2)
只需使用randperm创建5个随机非重复数字的linear index:
d(randperm(numel(d),5))