float, x: list, y: list): # возвращает y
"""Функция расчёта интерполяции на 10 точек"""
"Минимальное число точек 2"
"Возвращает расчитаный Y ограниченно в пределах характеристики"""
maximum_x: float = max(x) # Максимум характеристики X
minimum_x: float = min(x) # Минимум характеристики X
if (input < minimum_x):
return (y[0])
elif (input > maximum_x):
return (y[len(y)-1])
else:
i = 2 # минимальное число точек для интерполяции
while (input > x[i]) and (i < 10):
i = i + 1 # счётчик
return (input - x[i-1]) * (y[i] - y[i-1]) / (x[i] - x[i-1]) + y[i-1]
Цикл зачем?
чтоб счётчик накрутить и остановить, и вот тоже подумал у нужно ли ...
Ну и input пепеииенуй во что-нибудь более понятное.
Кстати, а что значит "на 10 точек"? Я не вижу никаких десяти точек
подставь 2 листа значений с 10 точками каждый
Почему именно 10?
потому, что к примеру характеристика может быть ограничена 10 точками...
Не вижу чтобы это было важно для твоего алгоритма
А я не понял зачем цикл
(i < 10):
Розовый
будет считать пока условие не станет false
Идём, пока не упадем
считаем пока можем считать а за границы лезть не надо
Твой код выглядит так: Задача: купить хлеб Код: 1. Пришел в магазин 2. Сделал 10 кругов вокруг него, но не дальше входа. 3. Взял хлеб Я спрашиваю, зачем вокруг ходить? Ты отвечаешь: ходим, но далекл не отходим
Тишка, конструктивный ответ, а не метафорический будет ?)
Ты ответишь зачем нужен цикл?
i = 2 # минимальное число точек для интерполяции while (input > x[i]) and (i < 10): i = i + 1 # счётчик Что делает этот код?
считает пока не дойдёт до 11 также можно в общемто и range использовать
Хмм а что это .... я тоже не понял Типа были списки и какой то предел Нашли интервал по первому, чего-то наусредняли не более 10 раз...)
Линейная интерполяция
Почему тогда возвращает не список а какое то последнее?
вы вводите x и по характеристики забитой в листы ищем промежуточное значение y
Ищем y? Тогда почему он передается параметром?
Оно считает значение Y в одной точке X.
Ну вот почему топикстартер не может нормально это сам сказать?
Непонятно при чем тут 10, что за цикл и что представляет собой input
Тишка, а выж критиковать сразу начали, вот я смотрю поплыли )
Походу ему надо сначала взять x и предел и что то сделать со список x?)))
Ты спросил как улучшить код, я тебе показал странные моменты. А оказывается я просто критиковать начал. Молодой человек, может нахуй пройдете тогда?
Хорошо, а что делает input > x[i] В инете нашел такую формулу расчета Y = y1+(x-x1)/(x2-x1)*(y2-y1) Судя по всему именно она у вас Тестили что будет, если не отсортированный массив отправить?
Типичный день из жизни топикстартеров с xy вопросами)
Обсуждают сегодня