2016-11-29 3 views
-1

псевдокод:объединение различных векторов на каждой итерации в MATLAB

for each iteration i 
    select n vectors from a matrix's columns (say:1,5,7 for n=3) based on a rule 
    united=union(mat(:,1),mat(:,5),mat(:,7)) 
    ...do some stuff. 
    Update n based on a rule 
next i 

Как вы можете видеть, мои n значение изменяется с течением времени. Также меняются векторы, которые собираются до union(). Я не мог найти никакого способа получить объединение векторов, которые со временем меняются. Любое решение? Заранее спасибо.

ответ

1

Предполагается, что n случайным образом обновляет любую информацию, которую вы хотите извлечь из n столбцов, чтобы вы могли использовать функцию unique для получения уникальных значений из этих столбцов.

r = 5; 
c = 7; 
mat= rand(r,c); 
for i = 1:10 
    %update n randomly 
    n = randi(c); 
    %generate indexes of n columns randomly 
    idx = randperm(c,n); 
    %set union of selected columns 
    united = unique(mat(:,idx)); 
end 

 Смежные вопросы

  • Нет связанных вопросов^_^