Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function NewtonPoly(x, dataX, dataY)
- n = length(dataY)
- numOfDiff = Int(((1+n)*n)/2)
- Result = zeros(numOfDiff)
- Elems = zeros(n+1)
- for i = 2 : n+1
- Elems[i] = Elems[i-1] + (n-(i-2))
- end
- for i = 1 : n
- Result[i] = dataY[i]
- end
- for i = n+1 : numOfDiff
- level = n+1
- while Elems[level] >= i
- level-=1
- end
- iterator = Int(i-Elems[level] + Elems[level-1])
- Result[i] = (Result[iterator+1] - Result[iterator]) / (dataX[Int(i-Elems[level] + level - 1)] - dataX[Int(i-Elems[level])])
- end
- Coef = zeros(n)
- for i = 1 : n
- Coef[i] = Result[Int(Elems[i] + 1)]
- end
- return Coef
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement