二分法求根

二分法求根算法代码,操作平台:excel

Private Sub CommandButton1_Click() ‘开始程序

a = Sheets(“Sheet1”).Range(“A1”).Value ‘将sheet1中A1单元格的值赋予变量a,作为零点所在区间的左端,需要程序运行之前先行在sheet1中的A1单元格输入;

b = Sheets(“Sheet1”).Range(“C1”).Value ‘将sheet1中C1单元格的值赋予变量b,作为零点所在区间的右端,需要程序运行之前先行在sheet1中的C1单元格输入;

d = Sheets(“Sheet1”).Range(“G1”).Value ‘将sheet1中G1单元格的值赋予变量d,作为精确度,需要程序运行之前先行在sheet1中的G1单元格输入;

i = 2

m = a

Do

If f * h < 0 Then

b = m

Else

a = m

End If

m = (a + b) / 2 ‘算出中点的横坐标;

f = a ^ 3 – 6 * a ^ 2 – 3 * a + 5 ‘计算f(a);

Sheets(“Sheet1”).Range(“A” & i).Value = a

Sheets(“Sheet1”).Range(“B” & i).Value = f

g = b ^ 3 – 6 * b ^ 2 – 3 * b + 5 ‘计算f(b);

Sheets(“Sheet1”).Range(“C” & i).Value = b

Sheets(“Sheet1”).Range(“D” & i).Value = g

h = m ^ 3 – 6 * m ^ 2 – 3 * m + 5 ‘计算f(m);

Sheets(“Sheet1”).Range(“E” & i).Value = m

Sheets(“Sheet1”).Range(“F” & i).Value = h

Sheets(“Sheet1”).Range(“G” & i).Value = Abs(a – b)

i = i + 1

Loop Until Abs(a – b) < d Or f = 0 ‘判断何时跳出循环;

End Sub ‘结束程序。

点击下载此文件