LINUX.ORG.RU

апроксимизация функции


0

0

А знает может кто-нибудь такой софт которому можно задать органиченный набор данных таких как:

f(2.34) = 2.465
f(4.56) = 8.36
f(8.43) = 9.545

И он из этих данных более-менее точно выгенерирует математическую формулку для этой функции? Что-то такое вроде называется идентификация и там вроде бы надо подавать вид функции (многочлен, что-то синусоватое, что-то с логарифмами) и там потом множатся какие-то ужасные матрицы? Вобщем какая-то чорная магия или необязательно? Может можно самому что-то такое написать? Или может есть уже что-то готовое?

Взламываешь какую-то софтину? :-)

Anoxemian ★★★★★
()

я вот fit в gnuplot'е использую, но там надо задавать вид функции с коэффициентами...

anonymous
()
Ответ на: комментарий от dissident

А что это за урок. По подрыву буржуйской экономики?

anonymous
()

>Что-то такое вроде называется идентификация ... какая-то чорная магия ... Может можно самому что-то такое написать

Регрессия это называется. Совершенно тривиальная задача(при небольшом кол-ве аргументов). Не больше 20 строк кода с нуля на питоне. Искать готовое такой сложности - себя не уважать.

DonkeyHot ★★★★★
()
Ответ на: комментарий от DonkeyHot

нах код. что, в уме считать все разучились? ну в столбик тогда. три уравнения - это 10 минут.

ProtecT
()
Ответ на: комментарий от DonkeyHot

Регрессия разве не линейная? Откуда у тебя уверенность что зависимость именно линейная? Зачем бы тогда было мудрить целую науку идентификации если все решалось бы несколькими суммами чего-то там?

А урок про всякую параллельщину, препод решил мерять какие-то разные вещи, типа speedup для разных алгоритмов и следом мерять их немного иначе и на основе этого похоже сделать себе профессуру. Потому решил зачесть предмет на хорошую оценку если ему написать эти самые алгоритмы и померять. Охотников набралось человек 20, толстая будет профессура. Теперь захотел еще и формулку на разницу между его формулкой и общепринатой. Вобщем обычное ВУЗовское болото.

dissident ★★
() автор топика

Учим уроки: ключевые слова интерполяционный многочлен Лагранжа полиномиальная интерполяция метод наименьших квадратов аппроксимация рядами Фурье

и много других страшных слов. :)

А если серьезно, нужно определится: хотите ли Вы найти решение _точно_ совпадающее по значениям в заданных точках или, например, с наменьшим отклонением в среднеквадратичном смысле.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

Я хочу решение которое будет более или менее правдободобно. Потому и спрашивал про софт. А за кейворды спасибо! Всегда это интересовало. На одном уроке даже показали какие-то умножения матриц, но кроме того что матрицу фи-лямбда-бета надо помножить на матрицу тета-сигма как-то семантического значения этих умножений было не видно...

dissident ★★
() автор топика
Ответ на: комментарий от dissident

>Регрессия разве не линейная

Линейная регрессия, несомненно линейна. А вот нелинейная - вряд ли.

Впрочем, я мог напутать с названием - слишком давно и ненапрягаясь учил.

DonkeyHot ★★★★★
()
Ответ на: комментарий от dissident

Вообще-то основы теории проходят буквально на первом курсе, на математическом анализе (ака матан). В частности, про интерполяционнй многочлен Лагранжа.

Вы, я вижу не совсем понимаете постановку задачи. Есть 2 варианта

1. Хочется построить выражение (например полиномиального вида), которое в заданных тотчках имеет заданные значения. Именно эту задачу и решает интерполяционный полином Лагранжа (на самом деле, есть целое семейство интерполяционных формул, например, где в заданных точках известны не только значения функции, но и ее производных. Так, если в точке задано значение функции и значения всех ее производных, то мы приходим к многочлену Тейлора)

2. Хочется построить аппроксимацию, когда она проходит не через заданные точки, а достаточно "близко" от них (например, заведомо известно, что точки определяются с какой-то ошибкой, например, в физическом эксперименте). Тогда используется метод, скажем наименьших квадратов, где минимизируется сумма квадратов отклонения аппроксимирующей функции от заданных значений. Понятно, что в этом случае значения, получаемые аппроксимацией и заданное значения в заданной точке могут не совпадать.

Более того, существует бесконечно много функциональных зависимостей, проходящих через заданные точки. Тогда задачу ставят, например, на нахождение многочлена (или другого класса функций) _минимальной_ степени, проходящего через все заданные точки. Ну и т.п.

Надеюсь, я прояснил причину, по которой на Ваш вопрос трудно дать однозначный ответ

annoynimous ★★★★★
()

>А знает может кто-нибудь такой софт которому можно задать органиченный набор данных таких как: > >f(2.34) = 2.465 >f(4.56) = 8.36 >f(8.43) = 9.545

Хочешь генератор карточек оплаты инета\мобилы? =)

v12aml ★★
()
Ответ на: комментарий от dissident

>На одном уроке даже показали какие-то умножения матриц, но кроме того что матрицу фи-лямбда-бета надо помножить на матрицу тета-сигма как-то семантического значения этих умножений было не видно...

Приближенные численные решения уравнений квантовой механики (например, тех, что применяются в квантовой химии --- рассчет молекул и все такое) основываются на замене операторного уравнения матричным с последующим его решением. Там этих умножений матриц дофига на каждом шаге производится.

dn2010 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.