У меня есть, по-видимому, относительно упрощенный вопрос геометрической оптимизации, но у меня совершенно нет опыта.
У меня есть куча данных, через которые я подгоняю сплайн, чтобы найти его уравнение, например, приведенное ниже,
И это уравнение, которое я подгоняю к точкам,
с кодом,
import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline
plt.figure(figsize=(6.5, 4))
plt.axis([0.017,.045,.0045,.014])
plt.scatter(x,y,color='orange')
spl = UnivariateSpline(x, y)
plt.plot(xs, spl(xs), 'b', lw=3)
plt.show()
И что я хочу сделать, это найти уравнение линии y = mx + b
с определенным y-пересечением a
, которое попадает в синюю кривую в некоторой точке касания. Так, например, если моя линия должна пройти через y=.006
, то какой наклон b
ее линии заставляет ее достигать касательной синей линии?
Хотя я и делаю регулярную оптимизацию по производным кривой в большом количестве точек, но я не уверен, как это настроить строго.