Posted on 2006-06-11 13:25
魔のkyo 阅读(517)
评论(0) 编辑 收藏 引用 所属分类:
Programming
//
前置条件,func(x)=0在区间[low,high]上有且只有一个根
//
后置条件,返回 func(x)=0在区间[low,high]上的根,残量精确度小于0.000001
double
dichotomy(
double
low,
double
high,
double
(
*
func)(
double
))
{
if
(func(low)
>
0
)
swap(low,high);
double
middle,t;
while
(
1
){
middle
=
0.5
*
(low
+
high);
t
=
func(middle);
if
(t
>
1e
-
6
)high
=
middle;
else
if
(t
<-
1e
-
6
)low
=
middle;
else
return
middle;
}
}
二分逼近算法.txt