线性插值
例子
求t=16时,速度v的值
#线性插值法(一次线性插值)x = 16#16在15与20之间,所以,只需要两组数据x0 = 15y0 = 362.78x1 = 20y1 = 517.35P = y0 + (y1-y0)/(x1-x0)*(x-x0)print(P)
结果:
393.69399999999996
#线性插值法(一次线性插值)x_list = [0, 10, 15, 20, 22.5, 30]y_list = [0, 227.04, 362.78, 517.35, 602.97, 901.67]x0, y0, x1, y1 = 0, 0, 0, 0x = 16for i in range(len(x_list)):if x < x_list[i]:x0 = x_list[i-1]y0 = y_list[i-1]x1 = x_list[i]y1 = y_list[i]breakelse:pass#16在15与20之间,所以,只需要两组数据P = y0 + (y1-y0)/(x1-x0)*(x-x0)print(P)
结果:
393.69399999999996