假设我有一个公式,其中包含用户必须猜测的变量。但是在公式末尾,将再次计算该变量,如果第一个变量和第二个变量不匹配,则必须使用新值再次求解公式。简而言之,假设我有一个这样的公式(我的公式比这复杂得多,并且时间更长);
double y1 = Convert.ToDouble(txtboxPredefinedY.Text);
double x, z, Ort;
double y2 = 0;
while (y1 != y2)
{
x = (Math.Pow(y1, 2)) + 10;
z = (y1 - 2) / 3;
y2 = (x / z);
Ort = (y2 + y1)/2;
y1 = Ort;
if (y1 == y2)
break;
}
txtboxResult.Text = r.ToString();
因此,y1
我首先定义的变量必须与最后一个变量匹配y2
。为此,我计算了整个公式并找到了一个新的y1
重新计算的公式。
我想定义一个y1
值,然后让应用程序更正我。例如,此代码应返回值3.3158
。如果第一输入是3.3158
大于y1
等于y2
。
我无法while
正确使用迭代。我怎样才能解决这个问题?或者,也许我应该如何构建我的while
模块来给出精确的方程式?
与Double
您合作时,应与公差进行比较:
double y1 = Convert.ToDouble(txtboxPredefinedY.Text);
double x, z, Ort;
double y2 = 0;
double tolerance = 0.001;
while (Math.Abs(y1 - y2) >= tolerance) {
x = (Math.Pow(y1, 2)) + 10;
z = (y1 - 2) / 3;
y2 = (x / z);
Ort = (y2 + y1)/2;
y1 = Ort;
}
之类的比较y1 != y2
也y1 == y2
可能由于舍入错误而失败。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句