Loop is not looping

Hi guys, this is my final questions. So the objective of this program is to find all combinations of a, b, and c that equal zero. I want it to keep spitting out combinations until it's found all possible ones, but right now if I run it, it will either not get one and stop, or it will get a few and then stop. Here is the code:
F = [-5,-4,-3,-2,-1,1,2,3,4,5];
T = @(a,b,c) (a + b + c);
for m=F
a = randsample (F,1);
b = randsample (F,1);
c = randsample (F,1);
if T(a,b,c) == 0
disp ([a b c]);
end
end
Thanks for the help in advance.

2 comentarios

per isakson
per isakson el 29 de Abr. de 2012
Loop loops ten loops, but with ten there is a probability that no combination of a, b and c fulfills the condition.
Nathaniel Ewing
Nathaniel Ewing el 29 de Abr. de 2012
How do I fix this so it repeats the loops if it doesn't full the condition?

Iniciar sesión para comentar.

 Respuesta aceptada

per isakson
per isakson el 29 de Abr. de 2012

0 votos

M = [];
for ii = 1 : large_number
.....
if T(a,b,c)==0
M = cat( 1, M, [a,b,c] );
end
end
M = unique( M, 'rows' );
--- EDIT ---
function U = cssm( N )
F = [-5,-4,-3,-2,-1,1,2,3,4,5];
T = @(a,b,c) (a + b + c);
M = [];
for m = 1 : N
a = randsample (F,1);
b = randsample (F,1);
c = randsample (F,1);
if T(a,b,c) == 0
M = cat( 1, M, [a,b,c] );
end
end
U = unique( M, 'rows');
end
You decide what all combinations mean.
U = cssm(1e4);
1e4 is that large enough to capture all combinations?

2 comentarios

Nathaniel Ewing
Nathaniel Ewing el 29 de Abr. de 2012
I take it the dots are where I put my original code?
Nathaniel Ewing
Nathaniel Ewing el 29 de Abr. de 2012
I'm not sure how I would use the M in this situation, or Concatenate arrays. Could you explain a bit please? Thanks!

Iniciar sesión para comentar.

Más respuestas (1)

Nathaniel Ewing
Nathaniel Ewing el 29 de Abr. de 2012

0 votos

Yes this works perfectly, thank you very much for your help.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by