[VBA ] bisection 的 recursive
如題,因為之前老師叫我們用vba寫出bisection,但是想說不知道有沒有辦法
用遞迴的方式去寫,遞迴也只知道是呼叫自己本身,看了維基裡面寫了
一個遞迴的階乘,想了半天想不出來,所以跑來這邊問問大家@@
下面是我的程式碼,可是只跑一次,為什麼咧= =
Sub bimain()
Dim xl As Double, xr As Double, xm As Double
Dim i As Integer
xl = 0#
xr = 1#
xm = (xl + xr) / 2#
i = 0
If (xm <> 0.001) Then
xm = condition(xl, xr)
MsgBox xm
i = i + 1
ElseIf (i > 10) Then
Stop
End If
End Sub
Function condition(xl As Double, xr As Double) As Double
Dim xm As Double
xm = (xl + xr) / 2#
If (infun(xl) * infun(xm) = 0 Or infun(xm) * infun(xr) = 0) Then
Stop
ElseIf (infun(xl) * infun(xm) < 0) Then
xr = xm
ElseIf (infun(xm) * infun(xr) < 0) Then
xl = xm
End If
condition = xm
End Function
Function infun(x As Double) As Double
infun = x ^ 3 + 3 * x - 1
End Function
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.184.51.226
推
10/17 23:31, , 1F
10/17 23:31, 1F
→
10/17 23:33, , 2F
10/17 23:33, 2F
推
10/18 00:02, , 3F
10/18 00:02, 3F
→
10/18 09:20, , 4F
10/18 09:20, 4F
討論串 (同標題文章)
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章