Я ищу подпрограмму подбора нелинейной кривой (вероятно, скорее всего, ее можно найти в R или Python, но я открыт для других языков), которая будет принимать данные x, y и соответствовать кривой.
Я могу указать в качестве строки тип выражения, которое я хочу поместить.
Примеры:
"A+B*x+C*x*x"
"(A+B*x+C*x*x)/(D*x+E*x*x)"
"sin(A+B*x)*exp(C+D*x)+E+F*x"
Что бы я выбрал из этого, это, по крайней мере, значения констант (A, B, C и т.д.). И, надеюсь, статистика о пригодности матча.
Есть коммерческие программы, чтобы сделать это, но я ожидал, что смогу найти что-то общее, подходящее для желаемого выражения в языковой библиотеке в настоящее время. Я подозреваю, что материал оптимизации SciPy мог бы это сделать, но я не вижу, что он позволяет мне определить уравнение. Точно так же я не могу найти то, что я хочу в R.
Это то, что я ищу там, или мне нужно катиться самостоятельно? Я ненавижу делать это, если он есть, и мне просто трудно найти его.
Изменить: я хочу сделать это для немного большего контроля над процессом, чем от LAB Fit. Пользовательский интерфейс LAB Fit ужасен. Я также хотел бы разбить диапазон на несколько частей и иметь разные кривые, представляющие разные части диапазона. В конце концов, результат должен быть способен (по скорости) бить LUT с линейной интерполяцией или мне неинтересно.
В моем текущем наборе проблем у меня есть триггерные функции или exp(), и мне нужно выполнить их 352 800 раз в секунду в реальном времени (и использовать только часть процессора). Поэтому я рисую кривую и использую данные для приведения кривой слесаря, чтобы получить менее дорогие аппроксимации. В прежние времена LUTs были почти всегда решением, но в настоящее время пропускают поиск в памяти и иногда приближаются.