Добрый день! Второй день бьюсь над задачей, но она все никак не выходит.
Задача состоит в следующем: даны n узлов и n значений , необходимо написать функцию, которая бы строила полином первой степени на каждом интервале [x(i);x(i+1)] (линейная интерполяция), графиком должна быть, соответственно кусочно-линейная функция.
Знаю, что в numpy есть numpy.interp, которая делает это все в несколько строчек, но задание состоит в том, чтобы написать свой интерполятор.
Вот мои попытки:
def lin(x,y,t):
   for i in range(len(x)):
        if x[i]==t:
            return (f(t))
            break
        elif x[i]>t:
            max=x[i]
            break
        elif x[i]<t:
            min=x[i]
            break
        c=(f(max)-f(min))*(t-min)/(max-min)+f(min)
    return c
ylin=[lin(x, y, i) for i in x]
plt.plot(x,ylin, 'm')
plt.grid(True)
plt.show()
 
  Здесь 
-это x(i+1), a 
-x(i). 
При запуске данного кода, выдается ошибка:
 return c
           ^
IndentationError: unindent does not match any outer indentation level
Хотя вроде бы, все пробелы и табуляции соблюдены.
Надеюсь, смогу здесь найти помощь и буду очень благодарен за любые советы.
Заранее спасибо!