Линейная интерполяция (python)

Моя задача – линейно интерполировать с f(x)=exp(x) учетом следующих значений x=[0,1,2] а затем снова с x=[0,0.5,1,1.5,2] . Насколько я понимаю, я должен интерполировать по [0,1] затем [1,2] и т. Д., Чтобы получить прямую линию между f(0) и f(1) и т. Д.

Это правильно? как я могу построить результаты? (получение матрицы при запуске программы)

 def f(x): return math.exp(x) x_1=np.linspace(0,1,num=20) x_2=np.linspace(1,2,num=20) def interpolation(x,a,b): for k in x_1:#should I do a for-loop here? m=(f(b)-f(a))/(ba) z=f(a) y=m*(xa) return y+z print(interpolation(x_1,0,1)) print(interpolation(x_2,1,2)) 

Я понимаю, что вам нужно интерполировать y=f(x) на y=ax+b . Я думаю, что цель упражнения – проверить, чем количество подсчетов точек подстановки.

со скудными инструментами:

 from pylab import * x=linspace(0,2,3) z=linspace(0,2,5) px=polyfit(x,exp(x),1) pz=polyfit(z,exp(z),1) close() subplot(211) plot(x,exp(x),x,polyval(px,x)) subplot(212) plot(z,exp(z),z,polyval(pz,z)) 

Я позволю вам написать код python для полифита;)

введите описание изображения здесь