Wolfram循环只运行一次



嗨,我正在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]]

相关内容

  • 没有找到相关文章

最新更新