C#实现二分法——寻找函数零点
二分法,也叫做二等分法或折半法,是一种简单但有效的寻找函数零点(通常称为根)的方法。其基本思想是:在一个区间内选择一个中点并判断它与零点的大小关系,然后根据这个关系缩小区间,并重复这个过程,直到找到接近最终精度的零点。
我们可以用C#来实现二分法的过程。下面就是相应的源代码,供大家参考和使用。
using System;
namespace BisectionMethod
{
class Program
{
// 定义目标函数
static double Function(double x)
{
return Math.Pow(x, 3) - 3 * Math.Pow(x, 2) + 4;
}
// 定义二分法函数
static double Bisection(double a, double b, double eps)
{
double c = 0;
int n = 0;
while (Math.Abs(b - a) >= eps)
{
c = (a + b) / 2;
if (Function(c) == 0)
{
break;
}
else if (Function(c) * Function(a) < 0