在计算方法里有一种求一元非线性方程的解法,叫做二分法。

简单介绍如下:

函数F(x)在区间[a,b] 上连续,假定在区间内有唯一实根,计为x*

二分法的思想为:首先确定有根区间,将区间二等分,通过判断F(x)的符号,逐步将有根区间缩小,直至有根区间足够小,便可求出满足精度要求的近似根。

然后给出一例题和C#的编程解法:

用C#编写二分法解一元非线性方程//用二分法求方程f(x)=x^4-x-10.27=0在(1,2)上的根。精确到10^(-2)
用C#编写二分法解一元非线性方程
using System;
用C#编写二分法解一元非线性方程
用C#编写二分法解一元非线性方程
class Dichotomy
}

输出结果为:

k   a            b            x            F(x)                a-b
0   1            2            1.5          -6.7075             -1
1   1.5          2            1.75         -6.7075             -0.5
2   1.75         2            1.875        -2.64109375         -0.25
3   1.75         1.875        1.8125       0.214619140625      -0.125
4   1.8125       1.875        1.84375      -1.29024841308594   -0.0625
5   1.84375      1.875        1.859375     -0.557734031677246  -0.03125
6   1.859375     1.875        1.8671875    -0.176621873378753  -0.015625
7   1.859375     1.8671875    1.86328125   0.0177218760550026  -0.0078125

可见b7 - a7 约等于0.0078<10^(-2),从而|x*-x7|<=0.5*(b7 - a7 )<=0.5*10^(-2),也就是满足题目的精度要求,所以满足要求的根为:x*约等于1.863

 

相关文章: