Public Function newton() '牛顿算法
Dim L#, LI#, i1%, j%, k%, kk%
Dim f(8) As Double
CurrentX = a(0): CurrentY = b(0)
For i1 = a(0) To a(m - 1) Step 1 ' a b 是存储坐标的数组,i1为整形
For kk = 0 To m - 1
L = 0
For k = 0 To kk
LI = 1
For j = 0 To kk
If (j <> k) Then
LI = LI * (a(k) - a(j))
End If
Next
L = L + b(k) / LI
Next
f(kk) = L
Next
L = 0
For j = 0 To m - 1
LI = 1
For k = 0 To j - 1
LI = LI * (i1 - a(k))
Next
L = L + LI * f(j)
Next
Picture1.DrawWidth = 1
Picture1.Line (CurrentX, CurrentY)-(i1, L), vbRed
CurrentX = i1: CurrentY = L
Call delay(100)
Next
End FunctionPublic Function lagrange() '拉格朗日
Dim L#, LI#, i1%, j%, k%
CurrentX = a(0): CurrentY = b(0)
For k = a(0) To a(m - 1) Step 1
L = 0
For i1 = 0 To m - 1
LI = 1
For j = 0 To m - 1
If (j <> i1) Then
LI = LI * (k - a(j)) / (a(i1) - a(j))
End If
Next
L = L + LI * b(i1)
Next
Picture1.DrawWidth = 1
Picture1.Line (CurrentX, CurrentY)-(k, L), vbYellow
CurrentX = k: CurrentY = L
Call delay(100)
NextEnd Function怎么两个函数画出来是一模一样的,应该是不一样的才对吧。牛顿函数是不是错了
Dim L#, LI#, i1%, j%, k%, kk%
Dim f(8) As Double
CurrentX = a(0): CurrentY = b(0)
For i1 = a(0) To a(m - 1) Step 1 ' a b 是存储坐标的数组,i1为整形
For kk = 0 To m - 1
L = 0
For k = 0 To kk
LI = 1
For j = 0 To kk
If (j <> k) Then
LI = LI * (a(k) - a(j))
End If
Next
L = L + b(k) / LI
Next
f(kk) = L
Next
L = 0
For j = 0 To m - 1
LI = 1
For k = 0 To j - 1
LI = LI * (i1 - a(k))
Next
L = L + LI * f(j)
Next
Picture1.DrawWidth = 1
Picture1.Line (CurrentX, CurrentY)-(i1, L), vbRed
CurrentX = i1: CurrentY = L
Call delay(100)
Next
End FunctionPublic Function lagrange() '拉格朗日
Dim L#, LI#, i1%, j%, k%
CurrentX = a(0): CurrentY = b(0)
For k = a(0) To a(m - 1) Step 1
L = 0
For i1 = 0 To m - 1
LI = 1
For j = 0 To m - 1
If (j <> i1) Then
LI = LI * (k - a(j)) / (a(i1) - a(j))
End If
Next
L = L + LI * b(i1)
Next
Picture1.DrawWidth = 1
Picture1.Line (CurrentX, CurrentY)-(k, L), vbYellow
CurrentX = k: CurrentY = L
Call delay(100)
NextEnd Function怎么两个函数画出来是一模一样的,应该是不一样的才对吧。牛顿函数是不是错了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货