Stuck in a For Loop
- To: mathgroup at smc.vnet.net
- Subject: [mg30948] Stuck in a For Loop
- From: Moranresearch at aol.com
- Date: Fri, 28 Sep 2001 03:54:56 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I am trying to iterate from c0 -.1 to c0+.1 in steps of 0.001 and from K=-2
to k= 2 insteps of 0.01
The code below hangs up. Any suggestions appreciated. Thank you.
de = {0.221`, 0.45225`, 0.6602777777777777`, 0.8903611111111112`,
1.0920277777777778`, 1.3204166666666668`, 1.5235833333333335`,
1.7480833333333334`};
ce = {6.1280277777777785`, 6.129388888888888`, 6.129833333333334`,
6.130222222222223`, 6.1306111111111115`, 6.130916666666667`,
6.131055555555555`, 6.130972222222223`};
c0 = ce[[1]];
MAXERR = 100000; K = 10;
minErr = MAXERR;
bestK = STARTK;
numConvergence = 0;
For[c0 = c0 - 0.1, c0 <= c0 + 0.1, c0 += 0.001,
For[K = -2.0, K <= 2.0, K += 0.01, sum = 0.0; num = 0;
c02 = c0*c0;
For[j = 0, j < 7, j++,
If[(c0 > 0), r = de[j]; c = ce[j];
sum += Abs[(Sqrt(c02 - K*r*r) - c)]; num++;]];
If[(num <= 0), Continue];
err = sum/num;
If[(err < minErr), bestc0 = c0; bestK = K; minErr = err;
numConvergence++;];];];
If[(numConvergence == 1), STARTK, bestK]