请教一下各位大佬啊,急急急!
double n=0;
//double x, y;
double e=Math .Pow (10,-5);
Console.WriteLine("请输入区间a的值");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入区间b的值");
double b = Convert.ToDouble(Console.ReadLine());
while (Math.Abs(b - a) > e)
{
if (F(a) == 0)
Console.WriteLine("此方程的根为:{0}", a);
if (F(b) == 0)
Console.WriteLine("此方程的根为:{0}", b);
if (F(a) * F(b) > 0)
{
Console.WriteLine("此方程无解!!!");
Console.WriteLine("{0}", F(a));
Console.WriteLine("{0}", F(b));
}
if (F(a) * F(b) < 0)
{
n = (a + b) / 2;
Console.WriteLine("{0}", F(n));
if (F (n )==0)
Console.WriteLine("此方程的根为:{0}", n );
if (F(a) * F(n ) < 0)
b = n;
else
a = n;
}
}
Console.WriteLine("此方程的根为:{0}", n);
Console.ReadKey();
}
public static double F(double t)
{
return 16 * Math.Pow(Math.Pow((0.01 * 0.01 - t * t), 0.5), 3) + 176 * Math.Pow(Math.Pow((0.01 * 0.01 - t * t), 0.5), 2) - 16 * Math.Pow(Math.Pow((0.01 * 0.01 - t * t), 0.5), 2) * 92 - t * t + 24 * Math.Pow((0.01 * 0.01 - t * t), 0.5) * t + 16 * t * t * Math.Pow((0.01 * 0.01 - t * t), 0.5) - 16 * t * 6 * Math.Pow((0.01 * 0.01 - t * t), 0.5);
}
帮忙看一下我这个二分法求根的近似值算法有木有问题和我同学算的有出入,根的区间在(0-0.01)刚开始带入区间端点的时候都是负值,直接就无解了,
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
分割线
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void main()
{
float x ; // 0 <= x <= 0.01
float y ;
double a = 0 ,b = 0.001;
//用循环求解方程
while((b-a)>0.00001)
{
x = (a+b)/2;
y =16*pow(pow((0.01*0.01-x*x),0.5),3)+176*pow(pow((0.01*0.01-x*x),0.5),2)-16*pow(pow((0.01*0.01-x*x),0.5),2)*92-x*x+24*pow((0.01*0.01-x*x),0.5)*x+16*x*x*pow((0.01*0.01-x*x),0.5)-16*x*6*pow((0.01*0.01-x*x),0.5);
if(y<0)
{
a = x ;
b = b ;
}
else
{
a = a ;
b = x ;
}
}
cout << " 所求方程的解为: x = "<< x << endl;
这是我同学写的,她是用的C++,主要看下我两的逻辑有木有问题啊,她的可以求出值来,但我总感觉她的算法有问题啊,求指教啊