Математический форум Math Help Planet http://mathhelpplanet.com/ |
|
Разобрать задание (интерполяция полиномов Ньютона/Л http://mathhelpplanet.com/viewtopic.php?f=64&t=57966 |
Страница 1 из 3 |
Автор: | neversleep [ 26 янв 2018, 10:04 ] |
Заголовок сообщения: | Разобрать задание (интерполяция полиномов Ньютона/Л |
Приветствую всех, сразу оговорюсь, в математеке я ламер. Прошу помочь разобрать задание. Задание выглядит так: Написать программу интерполяции таблично заданной функции с помощью полиномов Ньютона или Лагранжа. Входные данные: • исходная сетка узлов интерполяции • значения интерполируемой функции • новая сетка узлов, на которой необходимо вычислить значения функции • порядок полинома Далее даны вот такие ф-ции(я их переписал на c++): Код: // y = sinx * cosx double y(const double x) { return sin(x) + cos(x); } // Xi = -3/4π + 0.1π * i; i = 0, 1, 2, ..., 20; double fi(const double i) { return -0.75 * M_PI + 0.1 * M_PI * i; } // Xj = -3/4π + 0.15π * j; j = 1, ..., 10 double fj(const double j) { return -0.75 * M_PI + 0.15 * M_PI * j; } Не понятно, как получить входные данные. Я так полагаю, что нужно начать с вычисления значений fi(i) и fj(j): Код: for (unsigned i = 0; i <= 20; ++i) { cout << i << ": " << fi(i) << endl; } for (unsigned j = 0; j <= 10; ++j) { cout << j << ": " << fj(j) << endl; } Но, опять же, не совсем понятно, что именно я тут получил? По пунктам: • Первый цикл(в примере выше) - это и есть исходная сетка узлов интерполяции? • Как получить значения интерполируемой функции? Что подставлять в качестве аргемента x ф-ции y? • Второй цикл - это новая сетка узлов? • Порядок полинома - с этим, навенрое, позже возникнут вопоросы. |
Автор: | swan [ 26 янв 2018, 10:23 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
neversleep писал(а): • Первый цикл(в примере выше) - это и есть исходная сетка узлов интерполяции? да neversleep писал(а): • Как получить значения интерполируемой функции? Что подставлять в качестве аргемента x ф-ции y? узлы исходной сетки neversleep писал(а): • Второй цикл - это новая сетка узлов? да neversleep писал(а): • Порядок полинома - с этим, навенрое, позже возникнут вопоросы. должен пользователем задаваться (исходя из задания) Upd. Видимо, всё же, надо полагать, что степень полинома равна количество узлов -1 То есть в вашем случае - 20. |
Автор: | neversleep [ 26 янв 2018, 11:06 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
swan писал(а): neversleep писал(а): • Первый цикл(в примере выше) - это и есть исходная сетка узлов интерполяции? да neversleep писал(а): • Как получить значения интерполируемой функции? Что подставлять в качестве аргемента x ф-ции y? узлы исходной сетки neversleep писал(а): • Второй цикл - это новая сетка узлов? да neversleep писал(а): • Порядок полинома - с этим, навенрое, позже возникнут вопоросы. должен пользователем задаваться (исходя из задания) Upd. Видимо, всё же, надо полагать, что степень полинома равна количество узлов -1 То есть в вашем случае - 20. Спасибо. В выходных данных мне нужно получить: • новая сетка • значения функции на новой сетке • погрешность интерполирования Есть ли какой-нибудь инструмент(мб сайт) или программа, чтобы я туда ввёл исходные данные, а в итоге получил требуемые выходные данные(может не все, но хотя бы часть из них)? Если еще распишет алгоритм решения, то вообще супер Я спрашиваю потому, что когда буду писать программу, чтобы было с чем сверить. |
Автор: | swan [ 26 янв 2018, 11:16 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
По жизни тоже планируете шпаргалка и пользоваться? Делайте, выводить на график. С 99% вероятностью, если ошибка будет, то не сможете не заметить. |
Автор: | neversleep [ 27 янв 2018, 11:43 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
swan писал(а): По жизни тоже планируете шпаргалка и пользоваться? Делайте, выводить на график. С 99% вероятностью, если ошибка будет, то не сможете не заметить. Я бы с радостью, но для неподготовленного человека это все не так просто. Не доходит до меня такой момент: вот я у меня есть исходная и новая сетки(получил их по заданным формулам): ▼ сетки
На примере первого элемента исходной сетки: пара чисел -2.356194 и -1.414214 - это и есть сама сетка? (т.е -2.356194 это x, а -1.414214 это y=f(x) ?) Или же это 0 и -2.356194 , или 0 и -1.414214 ? |
Автор: | swan [ 27 янв 2018, 16:12 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
У вас есть 21 икс и соответственно 21 значений, игреков. Строите по ним интерполяционный многочлен. Значения этого многочлена в новых 11 иксах - это ваши приближения. Сумма модулей разностей между этими приближениями и истинными значениями, деленная на сумму значений функции - это погрешность |
Автор: | searcher [ 27 янв 2018, 16:34 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
swan писал(а): Upd. Видимо, всё же, надо полагать, что степень полинома равна количество узлов -1То есть в вашем случае - 20. swan писал(а): У вас есть 21 икс и соответственно 21 значений, игреков. Строите по ним интерполяционный многочлен. А вот тут, даже если всё правильно запрограммировано, может получиться ерунда вследствие катастрофического роста ошибок округления. |
Автор: | swan [ 27 янв 2018, 17:24 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
searcher, думаете? Кажется, что 20 - это пока еще не критично. Впрочем, спорить не буду, а проверить сейчас негде |
Автор: | searcher [ 27 янв 2018, 17:35 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
swan писал(а): searcher, думаете? Кажется, что 20 - это пока еще не критично. Впрочем, спорить не буду, а проверить сейчас негде Посмотрим, что получится у топик-стартера. |
Автор: | neversleep [ 28 янв 2018, 10:27 ] |
Заголовок сообщения: | Re: Разобрать задание (интерполяция полиномов Ньютона/Л |
searcher писал(а): swan писал(а): searcher, думаете? Кажется, что 20 - это пока еще не критично. Впрочем, спорить не буду, а проверить сейчас негде Посмотрим, что получится у топик-стартера. ▼ Получилось вот что
Если кому интересен код - могу скинуть. |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |