Re: create a List in a Do loop
- To: mathgroup at smc.vnet.net
- Subject: [mg79265] Re: create a List in a Do loop
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Sun, 22 Jul 2007 04:27:37 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <f7si85$2cn$1@smc.vnet.net>
liloi wrote:
> hello,
>
> i would like to make a list included in a do loop
> and mu3,L1,L2,L3 are constants
>
>
>
> Do[If[Sqrt[6.8*10^(-23)] <= masse2[mu1, mu2, mu3, L1, L2, L3] <=
> Sqrt[9.3*10^(-23)] &&
>
> Sqrt[1.1*10^(-21)] <= masse3[mu1, mu2, mu3, L1, L2, L3] <=
> Sqrt[3.7*10^(-21)],HERE THE LOOP MAY BE GENERATED
>
> , Continue[]],
>
> {mu1, 1*10^(-6), 1*10^(-3), 5*10^(-6)}, {mu2, 1*10^(-6), 1*10^(-3),
> 5*10^(-6)}]
>
>
>
>
>
>
>
> i tried table but i failed because table must have a imax known before starting the creation of the list
It is hard to tell, from the given "example", what your inner loop is
supposed to do and how it is related to the main loop, but you could use
the functions *Sow* and *Reap* with a *While* construct to build up
dynamically the list. Something along the line
Reap[
Do[If[Sqrt[6.8*10^(-23)] <= masse2[mu1, mu2, mu3, L1, L2, L3] <=
Sqrt[9.3*10^(-23)] &&
Sqrt[1.1*10^(-21)] <= masse3[mu1, mu2, mu3, L1, L2, L3] <=
Sqrt[3.7*10^(-21)], While[sometest, ... Sow[something] ...];
, Continue[]],
{mu1, 1*10^(-6), 1*10^(-3), 5*10^(-6)}, {mu2, 1*10^(-6), 1*10^(-3),
5*10^(-6)}]
]
HTH,
Jean-Marc