Как найти функцию зная только точки?
Судя по всему, то, о чем Вы говорите — аппроксимация функции. В Википедии более подробна статья про интерполяцию.
По сути, Ваша задача сводится к 2м шагам:
1. По точкам и общим зависимостям выбирается форма функции (например, полиномиальная, экспоненциальная и.т.п).
2. Строится модель, в которой задаётся функция с неизвестными параметрами. Задача — найти такие параметры, чтобы минимизировать функцию невязки(часто это квадрат разности между реальными значениями в заданых точках и значениями модельной функции, см. МНК).
Как определить уравнение функции по точкам
По введенным пользователем координатам двух точек вывести уравнение прямой, проходящей через эти точки.
Общее уравнение прямой имеет вид y = kx + b . Для какой-то конкретной прямой в уравнении коэффициенты k и b заменяются на числа, например, y = 4x — 2 . Задача сводится именно к нахождению этих коэффициентов.
Так как координаты точки это значения x и y , то мы имеем два уравнения. Пусть, например, координаты точки А(3;2), а координаты B(-1;-1). Получаем уравнения:
2 = k*3 + b,
-1 = k*(-1) + b.
Решая полученную систему уравнений находим значения k и b :
b = 2 — 3k
-1 = -k + 2 — 3k
4k = 3
k = 3/4 = 0.75
b = 2 — 3 * 0.75 = 2 — 2.25 = -0.25
Таким образом, получается уравнение конкретной прямой, проходящей через указанные точки: y = 0.75x — 0.25.
Алгоритм решения данной задаче на языке программирования будет таков:
- Получить значения координат первой точки и присвоить их переменным, например x1 и y1 .
- Получить значения координат ( x2, y2 ) второй точки.
- Вычислить значение k по формуле k = (y1 — y2) / (x1 — x2) .
- Вычислить значение b по формуле b = y2 — k * x2 .
- Вывести на экран полученное уравнение.
Аппроксимация функции одной переменной
Калькулятор использует методы регрессии для аппроксимации функции одной переменной.
Данный калькулятор по введенным данным строит несколько моделей регрессии: линейную, квадратичную, кубическую, степенную, логарифмическую, гиперболическую, показательную, экспоненциальную. Результаты можно сравнить между собой по корреляции, средней ошибке аппроксимации и наглядно на графике. Теория и формулы регрессий под калькулятором.
Если не ввести значения x, калькулятор примет, что значение x меняется от 0 с шагом 1.
Аппроксимация функции одной переменной
Линейная регрессия
Коэффициент линейной парной корреляции:
Средняя ошибка аппроксимации:
Квадратичная регрессия
Система уравнений для нахождения коэффициентов a, b и c:
Коэффициент корреляции:
,
где
Средняя ошибка аппроксимации:
Кубическая регрессия
Система уравнений для нахождения коэффициентов a, b, c и d:
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Степенная регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Показательная регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Гиперболическая регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Логарифмическая регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Экспоненциальная регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Вывод формул
Сначала сформулируем задачу:
Пусть у нас есть неизвестная функция y=f(x), заданная табличными значениями (например, полученными в результате опытных измерений).
Нам необходимо найти функцию заданного вида (линейную, квадратичную и т. п.) y=F(x), которая в соответствующих точках принимает значения, как можно более близкие к табличным.
На практике вид функции чаще всего определяют путем сравнения расположения точек с графиками известных функций.
Полученная формула y=F(x), которую называют эмпирической формулой, или уравнением регрессии y на x, или приближающей (аппроксимирующей) функцией, позволяет находить значения f(x) для нетабличных значений x, сглаживая результаты измерений величины y.
Для того, чтобы получить параметры функции F, используется метод наименьших квадратов. В этом методе в качестве критерия близости приближающей функции к совокупности точек используется суммы квадратов разностей значений табличных значений y и теоретических, рассчитанных по уравнению регрессии.
Таким образом, нам требуется найти функцию F, такую, чтобы сумма квадратов S была наименьшей:
Рассмотрим решение этой задачи на примере получения линейной регрессии F=ax+b.
S является функцией двух переменных, a и b. Чтобы найти ее минимум, используем условие экстремума, а именно, равенства нулю частных производных.
Используя формулу производной сложной функции, получим следующую систему уравнений:
Для функции вида частные производные равны:
,
Подставив производные, получим:
Откуда, выразив a и b, можно получить формулы для коэффициентов линейной регрессии, приведенные выше.
Аналогичным образом выводятся формулы для остальных видов регрессий.
Как найти функцию зная только точки?
Судя по всему, то, о чем Вы говорите — аппроксимация функции. В Википедии более подробна статья про интерполяцию.
По сути, Ваша задача сводится к 2м шагам:
1. По точкам и общим зависимостям выбирается форма функции (например, полиномиальная, экспоненциальная и.т.п).
2. Строится модель, в которой задаётся функция с неизвестными параметрами. Задача — найти такие параметры, чтобы минимизировать функцию невязки(часто это квадрат разности между реальными значениями в заданых точках и значениями модельной функции, см. МНК).
Как вычислить функцию, зная ее точки?
Тогда смотря сколько точек есть.
Очевидно, для такой функции как я выше написал — чтобы определить 3 параметра нужно три точки. Они подставляются в функцию и далее надо решить систему из трёх уравнений с тремя неизвестными, чтобы найти параметры.
А вот если точек много — их явно больше чем надо. Это уже другая задача — как найти функцию, которая лучше всего (в смысле среднеквадратичного отклонения) ложится на эти точки.
Для этого подход такой — преобразовать данные так, чтобы подгонять надо было линейную функцию. А для этого можно найти методику в учебнике или инете.
Ещё. конечно есть такая штука как интерполяция. Если дан масив точек (не обязательно корень — может быть любая функция и не аналитическая вовсе) — получить значения где-то между заданным отсчётами можно приблизительно — по интерполяционным формулам. Естественно, в предполжоении, что заданные отсчёты расположены достаточно часто и между ними функция сильно не меняется. Но по формулировке вопроса — вряд ли речь об этом.
Аппроксимация функции одной переменной
Калькулятор использует методы регрессии для аппроксимации функции одной переменной.
Данный калькулятор по введенным данным строит несколько моделей регрессии: линейную, квадратичную, кубическую, степенную, логарифмическую, гиперболическую, показательную, экспоненциальную. Результаты можно сравнить между собой по корреляции, средней ошибке аппроксимации и наглядно на графике. Теория и формулы регрессий под калькулятором.
Если не ввести значения x, калькулятор примет, что значение x меняется от 0 с шагом 1.
Аппроксимация функции одной переменной
Линейная регрессия
Коэффициент линейной парной корреляции:
Средняя ошибка аппроксимации:
Квадратичная регрессия
Система уравнений для нахождения коэффициентов a, b и c:
Коэффициент корреляции:
,
где
Средняя ошибка аппроксимации:
Кубическая регрессия
Система уравнений для нахождения коэффициентов a, b, c и d:
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Степенная регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Показательная регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Гиперболическая регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Логарифмическая регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Экспоненциальная регрессия
Коэффициент корреляции, коэффициент детерминации, средняя ошибка аппроксимации — используются те же формулы, что и для квадратичной регрессии.
Вывод формул
Сначала сформулируем задачу:
Пусть у нас есть неизвестная функция y=f(x), заданная табличными значениями (например, полученными в результате опытных измерений).
Нам необходимо найти функцию заданного вида (линейную, квадратичную и т. п.) y=F(x), которая в соответствующих точках принимает значения, как можно более близкие к табличным.
На практике вид функции чаще всего определяют путем сравнения расположения точек с графиками известных функций.
Полученная формула y=F(x), которую называют эмпирической формулой, или уравнением регрессии y на x, или приближающей (аппроксимирующей) функцией, позволяет находить значения f(x) для нетабличных значений x, сглаживая результаты измерений величины y.
Для того, чтобы получить параметры функции F, используется метод наименьших квадратов. В этом методе в качестве критерия близости приближающей функции к совокупности точек используется суммы квадратов разностей значений табличных значений y и теоретических, рассчитанных по уравнению регрессии.
Таким образом, нам требуется найти функцию F, такую, чтобы сумма квадратов S была наименьшей:
Рассмотрим решение этой задачи на примере получения линейной регрессии F=ax+b.
S является функцией двух переменных, a и b. Чтобы найти ее минимум, используем условие экстремума, а именно, равенства нулю частных производных.
Используя формулу производной сложной функции, получим следующую систему уравнений:
Для функции вида частные производные равны:
,
Подставив производные, получим:
Откуда, выразив a и b, можно получить формулы для коэффициентов линейной регрессии, приведенные выше.
Аналогичным образом выводятся формулы для остальных видов регрессий.