Borrar filtros
Borrar filtros

all possible combinations of vectors of unknown quantity and length

3 visualizaciones (últimos 30 días)
let's suppose I want to find all combinations of vectors , so I have as for example in input a matrix
A=[2 5 8 9];
which gives me the length of the vectors (from 1 to specific value, 1D vectors) I should compute combinations, i.e. for this specific case a good choice would be:
allComb=combvec(1:2,1:5,1:8,1:9)'
in order to have the combination values written in rows.
The problem is: in my code the INPUT MATRIX A can change values and dimension (2nd) and I don't know how to write a code, because even if I organize in cell the vectors and perform a FOR loop, then I don't know how to call back my vectors in combvec function.
thank you whoever could help me facing this.

Respuesta aceptada

Bruno Luong
Bruno Luong el 2 de Ag. de 2020
Generate vectors of consecutive integers to be combined
A = [2 5 8 9];
c = arrayfun(@(n) 1:n, A, 'unif', 0)
Generate combinations
c = flip(c);
[c{:}] = ndgrid(c{:});
c = cellfun(@(x) x(:), flip(c), 'unif', 0);
c = cat(2, c{:});
Display
disp(c)
  3 comentarios
Bruno Luong
Bruno Luong el 2 de Ag. de 2020
>> combvec
'combvec' requires Deep Learning Toolbox.
As you see I don't have the tbx. My code works with MATLAB alone.
gabriele fadanelli
gabriele fadanelli el 2 de Ag. de 2020
Ok, thank you. This is a nice answer.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by