Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def c(a, xx, dy):
- x = len(a) - 1
- ans = dy[0]
- prevx = xx - a[len(a) - 1]
- f = 1
- y = 2
- line = str(ans)
- pLine = "(" + str(xx) + " - " + str(a[len(a) - 1]) + ")"
- while True:
- ans = ans + ((dy[y-1]/ ((abs(a[0] - a[1])**(y - 1)) * f)) * (prevx))
- line = line + " + " + "(" + "(" + str(dy[y-1]) + "/" + "((|" + str(a[0]) + " - " + str(a[1]) + "|" + "**(" + str(y - 1) + ")) * " + str(f) + ")" + ")" + " * " + pLine
- x = x - 1
- print(line)
- if x == 0:
- break
- f = f * y
- y = y + 1
- prevx = prevx * (xx - a[x])
- pLine = pLine + " * " + "(" + str(xx) + " - " + str(a[x]) + ")"
- return ans
- def da(a):
- b = []
- for x in range(0, len(a)):
- b.append([])
- for y in range(0, len(a)):
- b[x].append([0])
- b[0][x] = a[x]
- for x in range(1, len(a)):
- for y in range(0, len(a) - x):
- b[x][y] = b[x - 1][ y + 1] - b[x - 1][ y]
- g = []
- for x in range(0, len(a)):
- g.append(b[x][len(a) - x - 1])
- return g
- c([-1, 0, 1, 2], 0.5, da([-0.5, 0, 2, 8]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement