Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 2 ] |
|
Автор | Сообщение | |
---|---|---|
levandos |
|
|
fileID = fopen('input.txt','r'); Этот код выполняет фиттинг данных и строит прогноз на 600 секунду процесса. Задача состоит в следующем: этот код нужно вшить в прибор, поэтому мне нужно преобразовать данный код в код на С++. Вижу несколько решений: 1) Поискать автоматические преобразователи кода MATLAB в код С++ 2) Найти на С++ готовые библиотеки фиттинга, и используя их, переписать код. 3) Самому запрограммировать итерационный процесс фиттинга, для этого придется погрузиться в теорию. 1 вариант: попробовал использовать Matlab Coder, который автоматически конвертирует код в C. Но, к сожалению, Matlab Coder не поддерживает функцию fit. 2 вариант отпадает, т.к. использование сторонних библиотек требует много памяти, которой в приборе недостаточно для таких изысков. Остается 3 вариант, но в теории плохо разбираюсь, залез в код Matlab, там очень сложный объектно-ориентированный язык (я смотрел исходный код функции fit) , у меня не хватает компетенции понять этого. Затем я задал вопрос на stackoverflow, где люди подсказали, что скорее всего используется метод наименьших квадратов (МНК). Гуглил русскоязычный и англоязычный интернет, но там в основном аналитические решения, и то для полиномов. В аналитических решениях есть минус: если поменять функцию фиттинга, то нужно каждый раз пересчитывать производные и забивать в код. Поэтому мне нужны численные решения, чтобы можно было быстро тестировать интерполяцию разными функциями. Затем, кажется, я нашел то, что мне нужно: Метод Левенберга-Марквардта. Прочитал статьи на википедии и на machinelearning.ru, но не могу понять, как это практически применить. Может есть знающие люди, кто мог бы кратко описать алгоритм метода Левенберга-Марквардта для моей функции? [math]f(x) = a + exp(\frac{x}{b})+\frac{x^2}{3}+x[/math] Либо посоветовать любой другой численный метод для поиска коэффициентов фиттирующей нелинейной функции. |
||
Вернуться к началу | ||
searcher |
|
|
levandos писал(а): Может есть знающие люди, кто мог бы кратко описать алгоритм метода Левенберга-Марквардта для моей функции? Наверное такие люди есть. Но тут надо ставить вопрос так. А есть люди, имеющие желание переписывать учебник (википедию) сюда на форум? И в чём смысл такой деятельности? Может лучше википедию исправить, если там что не так (в чём я сомневаюсь)? |
||
Вернуться к началу | ||
[ Сообщений: 2 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Метод наименьших квадратов; почему именно квадратов?
в форуме Численные методы |
17 |
3040 |
04 апр 2015, 15:19 |
|
Численные методы
в форуме Численные методы |
1 |
246 |
05 июн 2020, 21:51 |
|
Численные методы
в форуме Численные методы |
1 |
234 |
07 сен 2020, 15:10 |
|
Численные методы
в форуме Численные методы |
2 |
553 |
11 сен 2015, 21:11 |
|
Задача на численные методы
в форуме Численные методы |
4 |
675 |
08 авг 2019, 20:08 |
|
Метод наименьших квадратов
в форуме Дифференциальное исчисление |
9 |
288 |
02 авг 2020, 12:30 |
|
Метод наименьших квадратов | 4 |
348 |
26 окт 2018, 19:06 |
|
Метод наименьших квадратов
в форуме Численные методы |
2 |
486 |
16 окт 2015, 19:07 |
|
Метод наименьших квадратов
в форуме Численные методы |
9 |
500 |
18 июн 2017, 15:27 |
|
Метод наименьших квадратов
в форуме Численные методы |
6 |
567 |
12 дек 2018, 14:58 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |