Wolfram Loop 只运行一次

Wolfram Loop Runs Only Once

您好,我正在 Wolfram Cloud 上试用模数转换器 (ADC) 的软件版本。代码如下。

min =0.0;
max =15.0;
val=5.0;
avg =0.0;

ans= ConstantArray[0.0,8];
i=0;
while[i<8,i=i+1;
avg = (max+min)/2;

min = If[avg<val , min , avg];
max = If[avg<val, avg, max];

Insert[ans, If[val<avg,0,1], i];

Print[avg]
];

Print[ans];

我面临的问题是 while 循环只运行一次,输出如下所示。我也试过 For 循环,但结果是一样的。

7.5`
{0.`,0.`,0.`,0.`,0.`,0.`,0.`,0.`}

知道发生了什么事吗?

While使用大写'w'。

While[i < 8, i = i + 1;
 avg = (max + min)/2;
 min = If[avg < val, min, avg];
 max = If[avg < val, avg, max];
 Insert[ans, If[val < avg, 0, 1], i];
 Print[avg]]