0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 13
|
|
1 | |
Метод наименьших квадратов18.11.2019, 18:46. Показов 5584. Ответов 18
Дано функцию f(x). Найти линейную функцию ax+b которая наилучшим способом апроксимирует её. Использовать метод наименьших квадратов
0
|
|
18.11.2019, 18:46 | |
Ответы с готовыми решениями:
18
Метод наименьших квадратов Метод наименьших квадратов Метод наименьших квадратов Метод наименьших квадратов |
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 13
|
|
27.11.2019, 22:47 [ТС] | 2 |
До сих пор актуально, и очень очень нужно
0
|
1291 / 908 / 479
Регистрация: 05.12.2013
Сообщений: 3,073
|
|
27.11.2019, 23:05 | 3 |
0
|
3800 / 2350 / 413
Регистрация: 09.09.2017
Сообщений: 10,101
|
|
28.11.2019, 11:29 | 4 |
И вы за 10 дней даже не приступили?!
А если приступили - где наброски кода, алгоритма, математических формул? Есть же функция. Правда даже так не хватает диапазона. Скажем, если f(x)=x2, то на отрезке (-1...1) ее будет аппроксимировать y=0.37 , а на диапазоне (0...1) уже y=x-0.158
0
|
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 13
|
|
28.11.2019, 11:47 [ТС] | 5 |
У меея не было на это времени, а сейчас время поджимает
0
|
3800 / 2350 / 413
Регистрация: 09.09.2017
Сообщений: 10,101
|
|
28.11.2019, 13:01 | 6 |
Ну так не тратьте его попусту.
Метод наименьших квадратов не самая сложная задача даже в общем виде, для полинома произвольной степени, а уж в случае линейной аппроксимации можно хоть на лету для каждой новой точки пересчитывать.
0
|
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 13
|
|
28.11.2019, 14:03 [ТС] | 7 |
Я понял суть метода, но не знаю как его реализовать. Мне нужно сделать это задание в качестве лабораторной работы
0
|
3800 / 2350 / 413
Регистрация: 09.09.2017
Сообщений: 10,101
|
|
28.11.2019, 14:33 | 8 |
Если не знаете как реализовать, значит не поняли.
Ладно, давайте по шагам. Сформулируйте общий принцип метода и математику, которая за это отвечает. То есть вот у нас есть на входе набор точек (xi, yi) и надо найти коэффициенты уравнения y=a*x+b, которое бы наиболее точно совпадало с точками. Но "наиболее точно" это описание на человеческом языке. Какая математическая формула ему соответствует?
0
|
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 13
|
|
28.11.2019, 20:32 [ТС] | 9 |
Сумма квадратов отрезков от точки до линии?
0
|
28.11.2019, 20:37 | 10 |
ТабуретY, я так понимаю, выражение для функции известно и её можно найти в любой точке, проблема только в аппроксимации её линией, точки можно вычислять какие угодно по формуле функции.
0
|
1291 / 908 / 479
Регистрация: 05.12.2013
Сообщений: 3,073
|
|
28.11.2019, 20:59 | 11 |
Так в том-то и проблема, что выражение для функции не известно, ax+b это уравнение той линии которая будет аппроксимировать неизвестную функцию
0
|
29.11.2019, 01:03 | 12 |
ТабуретY,
![]() Ты такой берёшь и
0
|
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 13
|
|
29.11.2019, 01:22 [ТС] | 13 |
Можно брать любую функцию, и аппроксимировать её линией
0
|
3800 / 2350 / 413
Регистрация: 09.09.2017
Сообщений: 10,101
|
|
29.11.2019, 11:01 | 14 |
это опять фраза на человеческом языке, машина ее не поймет. Вы же говорите, что разобрались как работает метод наименьших квадратов. Так напишите формулу. Подсказка: там должен быть знак
Жаль только в первом посте про диапазон ничего не говорится. Но, поскольку без него все равно аппроксимация невозможна, как-то он там задается Добавлено через 43 минуты Ради интереса написал код, получилось около 30 строк, но это не для функции, а для потока точек. Зато промежуточный результат выдает на каждом шагу
1
|
29.11.2019, 11:43 | 15 |
COKPOWEHEU, ну, поток точек всегда можно вычислить и скормить алгоритму - показывай, интересно!
Если ещё и в вычислениях присутствуют икс-координаты точек, то это дело вообще можно заоптимизировать в сторону того, что координаты расположены на постоянном шаге h сетки, например.
0
|
3800 / 2350 / 413
Регистрация: 09.09.2017
Сообщений: 10,101
|
|
29.11.2019, 12:09 | 16 |
Все-таки не удержался и реализовал эту задачу. Разумеется, не в варианте "для школьников", описанном в 1-м посте.
1
|
3800 / 2350 / 413
Регистрация: 09.09.2017
Сообщений: 10,101
|
|
29.11.2019, 12:12 | 17 |
присутствуют, конечно, они же входят в метод наименьших квадратов.
Интереснее было бы сделать с разбиением оси каждый раз пополам либо по времени, либо по точности. Впрочем, вот этим мне заниматься лень ![]() А как тогда ТС разберется с алгоритмом если ему готовое решение дать? Добавлено через 47 секунд Хотя "для школьников" я погорячился, они частные производные вроде бы не проходят
0
|
30.11.2019, 02:27 | 18 | |||||
мой вариант
1
|
3800 / 2350 / 413
Регистрация: 09.09.2017
Сообщений: 10,101
|
|
30.11.2019, 09:04 | 19 |
Если бы это не было сделано специально, я бы ужаснулся стилю кодирования
![]() Хорошо запрятали метод наименьших квадратов, я довольно долго искал.
0
|
30.11.2019, 09:04 | |
Помогаю со студенческими работами здесь
19
МНК (Метод наименьших квадратов) Метод наименьших квадратов! (с Pascal на C++) Метод наименьших квадратов(численные методы) Метод наименьших квадратов/лаба 3 - аппроксимация/ С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |