All the combinations for 3 variables

28 visualizaciones (últimos 30 días)
Salad Box
Salad Box el 13 de En. de 2023
Comentada: Salad Box el 13 de En. de 2023
Hi,
I have 3 variables, each of which is an array containing differnet numbers of elements.
If I take a simple case as an example, for instance,
x = [0, 1];
y = [0, 1];
z = [0, 1];
Then in reality I would have in total 8 different combinations of xyz that are xyz =
[0 0 0;
0 0 1;
0 1 0;
0 1 1;
1 0 0;
1 0 1;
1 1 0;
1 1 1];
I wonder whether Matlab has a function for this application or do I have to loop it and write my own algorithm in order to obtain all different combinations.
If there is a function, I expect it to be more robust for cases that x, y and z doesn't have to be the same length. In another word, x, y and z doesnt have to contain same number of elements.
Because in reality I would have a lot of points in each of those x, y and z, if I loop it it is gonna take forever I guess.

Respuesta aceptada

Torsten
Torsten el 13 de En. de 2023
Editada: Torsten el 13 de En. de 2023
Or use ndgrid:
x = [0, 1];
y = [0, 1];
z = [0, 1];
[X,Y,Z] = ndgrid(x,y,z);
result = [X(:) Y(:) Z(:)]
result = 8×3
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1
  1 comentario
Salad Box
Salad Box el 13 de En. de 2023
That worked perfectly. Thank you very much.:)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by