|
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 27
|
|
Нахождение формулы аппроксимации01.05.2012, 19:52. Показов 3687. Ответов 11
Метки нет (Все метки)
Здравствуйте, использовал в своем проекте по примеру с данного сайта код для нахождения аппроксимации МНК, в алгоритме разобрался, всё поподставлял, всё работает, только одна проблема, не могу понять как сделать так, чтобы программа сама находила формулу типа
F(x) = a0 + ax + a2x2 + ... + akxk, где k<N Если бы условие ограничивалось бы десятью вариациями, я бы всё в оператор switch загнал бы, а по условии этих "ak" может быть тысячи. Значения "ak" и "x" известны
0
|
|
| 01.05.2012, 19:52 | |
|
Ответы с готовыми решениями:
11
Эмпирической формулы для аппроксимации экспериментальных данных. Нахождение функции двух переменных методом аппроксимации [Tutorial] формулы для нахождение значения определенного интеграла |
|
|
||
| 02.05.2012, 11:25 | ||
|
На указанной вами страничке есть ответ - текстовый файл с таблицей значений хi уi. Там, конечно, вычисляются коэффициенты полинома по известным значениям функций и переменных, но раз уж
0
|
||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||||||
| 02.05.2012, 13:21 | ||||||
|
зачем switch? так не подходит
0
|
||||||
|
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 27
|
|||||||||||
| 02.05.2012, 16:12 [ТС] | |||||||||||
|
vxg, Что-то не получается по вашему методу. Я нашел на хабре тему, где готовое решение на С# только, подставил в С++, но всё равно какая-то каша получается. В той программе, что на хабре, мы можем получить только одну функцию F(x), а мне надо чтобы сразу все находило, ибо в программе это всё вырисовывается еще в график.
Вот тот участок кода, что на C#
На вход подаю такие значения: x0=1, x1=2, x2=3; y0=1,5, y1=2,5, y2=3,5 На выходе должен получить те же самые значения, что и у игрека, но получаю "0,5, 2,5, 2,5" Добавлено через 16 минут Все данные берутся из StringGrid'a. Выходные значения для проверки записываю в ListBox и вывожу на график соответственно.
0
|
|||||||||||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||||||
| 02.05.2012, 16:49 | ||||||
|
что то вы не то говорите...
вот, проверяем
F(8)=1+2*8+3*8*8=209 о каких других "всех" значениях речь? вычислите значения по приведенному алгоритму для любого количества иксов... Добавлено через 5 минут ...если вас тревожит незначительные (или очень значительные если формула была выбрана неудачно) отличия получаемых от полинома значений от оригинальных точек, то дело в точности сглаживания, если нужно точное соответствие нужно делать интерполяцию, но это зависит от вашей задачи
0
|
||||||
|
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 27
|
|
| 02.05.2012, 17:27 [ТС] | |
|
vxg, может я просто чего-то недопонимаю, математика тяжело даётся. Но данный метод для единичного вывода f(x)? В вашем случае f(8), а мне требуется вывести все f(x) по кол-ву узлов, т.е. если n=3, значит я должен иметь значения f(1), f(2), f(3)
Добавлено через 2 минуты Если значение x является статическим и надо найти только одну функцию от икса, тогда ваш способ работает. Я ж говорю, мне еще график по аппроксимирующей функции надо построить просто.
0
|
|
|
|
||||||
| 02.05.2012, 17:39 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 27
|
|||||||||||
| 02.05.2012, 19:16 [ТС] | |||||||||||
|
BRcr, спасибо, но что-то результаты выдаёт не те или я не там их вывожу..
Может я некорректно излагаю свою задумку. Вобщем мне надо, чтобы вот это было на автомате:
0
|
|||||||||||
|
|
||||||
| 02.05.2012, 23:47 | ||||||
|
Все возможно. Сразу надо было точно просьбу формулировать, а не топтаться вокруг
![]()
Не по теме: Только не злоупотребляйте этим своим "кажется такое вообще невозможно реализовать..", тут, конечно, все любят в спортивных целях подлавливать друг-друга на возможных невозможностях, но все же, все же...:D Вот вывод кода:
1
|
||||||
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
||
| 03.05.2012, 12:37 | ||
|
если вам нужно получить значение функции для нескольких точек просто оформите ее как процедуру и вызывайте с теми иксами которые вам нужны - количество коэффициентов в формуле от подаваемого в функцию икса не зависит. мне все же кажется, что вы на самом деле толкуете про что то похожее на реализацию нахождения коэффициентов полинома...
0
|
||
|
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 27
|
|
| 03.05.2012, 16:05 [ТС] | |
|
BRcr, спасибо большое.
vxg, коэффициенты аппроксимации находились с помощью МНК, это с помощью того сайта реализовал, всё получилось, теперь передо мной стала задача выводить на график аппроксимирующие функции от всех заданных иксов, как это сделать было, я не понимал. Честно вам сказать, сколько я не провел дней за чтением числовых методов, я всё равно ничего не понял про аппроксимацию.
0
|
|
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
|
| 03.05.2012, 16:40 | |
|
аппроксимация от всех заданных иксов если я понимаю правильно русский язык это нахождение приближенного значения по аппроксимирующей формуле для заданных иксов. вид формулы (количество членов полинома) при этом не меняется. сама суть МНК в следующем - мы подбираем коэффициенты аппроксимирующей формулы таким образом что бы целевая функция (т.е. функция по которой мы будем оценивать хорошо или плохо наша формула описывает исходные данные, функция дающая нам некую оценку ошибки приближенных вычислений по нашей формуле в зависимости от подбираемых коэффициентов) имела минимальное значение (т.е. описывала максимально хорошо, с наименьшей ошибкой). в МНК в качестве целевой функции берут корень из суммы квадратов отклонений вычисленных по аппроксимирующей формуле и исходных значений деленный на количество исходных значений (т.е. пытаются вычислить на сколько в среднем будет отличаться вычисленные по аппроксимирующей формуле и исходные значения, для этого мы уходим от знака разницы через возведение в квадрат, усредняем и извлекаем корень возвращаясь к линейной шкале). все это засовываются в матаппарат при помощи которого получается и решается система уравнений дающая нам эти самые оптимальные в данном конкретном случае (т.е. для тех данных которые мы ввели и для того вида формулы которую мы выбрали) коэффициенты.
0
|
|
| 03.05.2012, 16:40 | |
|
Помогаю со студенческими работами здесь
12
Проверить истинность формулы логики предикатов. Формулы логики предикатов. Область истинности формулы Как подставить значение в формулу, из решенной формулы после предыдущей формулы. задачи на множество. вид формулы алгебры логики и упрощение формулы При изменении формулы в ячейке скопировать формулы в ячейки ниже Задача на использование Формулы полной вероятности и формулы Байеса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|