Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 26 янв 2018, 10:04 
Не в сети
Начинающий
Зарегистрирован:
17 янв 2018, 13:20
Сообщений: 25
Cпасибо сказано: 8
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Приветствую всех, сразу оговорюсь, в математеке я ламер. Прошу помочь разобрать задание.

Задание выглядит так: Написать программу интерполяции таблично заданной функции с помощью полиномов Ньютона или Лагранжа.

Входные данные:

• исходная сетка узлов интерполяции
• значения интерполируемой функции
• новая сетка узлов, на которой необходимо вычислить значения функции
• порядок полинома

Далее даны вот такие ф-ции(я их переписал на 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?
• Второй цикл - это новая сетка узлов?
• Порядок полинома - с этим, навенрое, позже возникнут вопоросы.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 26 янв 2018, 10:23 
Не в сети
Последняя инстанция
Зарегистрирован:
06 дек 2014, 09:11
Сообщений: 7070
Cпасибо сказано: 115
Спасибо получено:
1662 раз в 1508 сообщениях
Очков репутации: 283

Добавить очки репутацииУменьшить очки репутации
neversleep писал(а):
• Первый цикл(в примере выше) - это и есть исходная сетка узлов интерполяции?

да
neversleep писал(а):
• Как получить значения интерполируемой функции? Что подставлять в качестве аргемента x ф-ции y?

узлы исходной сетки
neversleep писал(а):
• Второй цикл - это новая сетка узлов?

да
neversleep писал(а):
• Порядок полинома - с этим, навенрое, позже возникнут вопоросы.

должен пользователем задаваться (исходя из задания)

Upd. Видимо, всё же, надо полагать, что степень полинома равна количество узлов -1
То есть в вашем случае - 20.

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю swan "Спасибо" сказали:
neversleep
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 26 янв 2018, 11:06 
Не в сети
Начинающий
Зарегистрирован:
17 янв 2018, 13:20
Сообщений: 25
Cпасибо сказано: 8
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
swan писал(а):
neversleep писал(а):
• Первый цикл(в примере выше) - это и есть исходная сетка узлов интерполяции?

да
neversleep писал(а):
• Как получить значения интерполируемой функции? Что подставлять в качестве аргемента x ф-ции y?

узлы исходной сетки
neversleep писал(а):
• Второй цикл - это новая сетка узлов?

да
neversleep писал(а):
• Порядок полинома - с этим, навенрое, позже возникнут вопоросы.

должен пользователем задаваться (исходя из задания)

Upd. Видимо, всё же, надо полагать, что степень полинома равна количество узлов -1
То есть в вашем случае - 20.

Спасибо.

В выходных данных мне нужно получить:

• новая сетка
• значения функции на новой сетке
• погрешность интерполирования

Есть ли какой-нибудь инструмент(мб сайт) или программа, чтобы я туда ввёл исходные данные, а в итоге получил требуемые выходные данные(может не все, но хотя бы часть из них)? Если еще распишет алгоритм решения, то вообще супер :) Я спрашиваю потому, что когда буду писать программу, чтобы было с чем сверить.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 26 янв 2018, 11:16 
Не в сети
Последняя инстанция
Зарегистрирован:
06 дек 2014, 09:11
Сообщений: 7070
Cпасибо сказано: 115
Спасибо получено:
1662 раз в 1508 сообщениях
Очков репутации: 283

Добавить очки репутацииУменьшить очки репутации
По жизни тоже планируете шпаргалка и пользоваться? Делайте, выводить на график. С 99% вероятностью, если ошибка будет, то не сможете не заметить.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 27 янв 2018, 11:43 
Не в сети
Начинающий
Зарегистрирован:
17 янв 2018, 13:20
Сообщений: 25
Cпасибо сказано: 8
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
swan писал(а):
По жизни тоже планируете шпаргалка и пользоваться? Делайте, выводить на график. С 99% вероятностью, если ошибка будет, то не сможете не заметить.

Я бы с радостью, но для неподготовленного человека это все не так просто.

Не доходит до меня такой момент: вот я у меня есть исходная и новая сетки(получил их по заданным формулам):

▼ сетки
Код:
// исходная
x=fi(0)=-2.356194, y(x)=-1.414214
x=fi(1)=-2.042035, y(x)=-1.344997
...
x=fi(20)=3.926991, y(x)=-1.414214


Код:
// новая
x=fj(1)=-1.884956, y(x)=-1.260074
x=fj(2)=-1.413717, y(x)=-0.831254
...
x=fj(10)=2.356194, y(x)=0.000000


На примере первого элемента исходной сетки: пара чисел -2.356194 и -1.414214 - это и есть сама сетка? (т.е -2.356194 это x, а -1.414214 это y=f(x) ?) Или же это 0 и -2.356194 , или 0 и -1.414214 ?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 27 янв 2018, 16:12 
Не в сети
Последняя инстанция
Зарегистрирован:
06 дек 2014, 09:11
Сообщений: 7070
Cпасибо сказано: 115
Спасибо получено:
1662 раз в 1508 сообщениях
Очков репутации: 283

Добавить очки репутацииУменьшить очки репутации
У вас есть 21 икс и соответственно 21 значений, игреков. Строите по ним интерполяционный многочлен. Значения этого многочлена в новых 11 иксах - это ваши приближения. Сумма модулей разностей между этими приближениями и истинными значениями, деленная на сумму значений функции - это погрешность

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю swan "Спасибо" сказали:
neversleep
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 27 янв 2018, 16:34 
Не в сети
Последняя инстанция
Аватара пользователя
Зарегистрирован:
15 мар 2016, 15:08
Сообщений: 9390
Cпасибо сказано: 122
Спасибо получено:
1726 раз в 1634 сообщениях
Очков репутации: 235

Добавить очки репутацииУменьшить очки репутации
swan писал(а):
Upd. Видимо, всё же, надо полагать, что степень полинома равна количество узлов -1То есть в вашем случае - 20.

swan писал(а):
У вас есть 21 икс и соответственно 21 значений, игреков. Строите по ним интерполяционный многочлен.

А вот тут, даже если всё правильно запрограммировано, может получиться ерунда вследствие катастрофического роста ошибок округления.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 27 янв 2018, 17:24 
Не в сети
Последняя инстанция
Зарегистрирован:
06 дек 2014, 09:11
Сообщений: 7070
Cпасибо сказано: 115
Спасибо получено:
1662 раз в 1508 сообщениях
Очков репутации: 283

Добавить очки репутацииУменьшить очки репутации
searcher, думаете? Кажется, что 20 - это пока еще не критично. Впрочем, спорить не буду, а проверить сейчас негде

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 27 янв 2018, 17:35 
Не в сети
Последняя инстанция
Аватара пользователя
Зарегистрирован:
15 мар 2016, 15:08
Сообщений: 9390
Cпасибо сказано: 122
Спасибо получено:
1726 раз в 1634 сообщениях
Очков репутации: 235

Добавить очки репутацииУменьшить очки репутации
swan писал(а):
searcher, думаете? Кажется, что 20 - это пока еще не критично. Впрочем, спорить не буду, а проверить сейчас негде

Посмотрим, что получится у топик-стартера.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разобрать задание (интерполяция полиномов Ньютона/Л
СообщениеДобавлено: 28 янв 2018, 10:27 
Не в сети
Начинающий
Зарегистрирован:
17 янв 2018, 13:20
Сообщений: 25
Cпасибо сказано: 8
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
searcher писал(а):
swan писал(а):
searcher, думаете? Кажется, что 20 - это пока еще не критично. Впрочем, спорить не буду, а проверить сейчас негде

Посмотрим, что получится у топик-стартера.


▼ Получилось вот что
Код:
x=fi(0)=-2.35619449019234483700, y(x)=-1.41421356237309492343
x=fi(1)=-2.04203522483336552540, y(x)=-1.34499702392791453676
x=fi(2)=-1.72787595947438621380, y(x)=-1.14412280563536850053
x=fi(3)=-1.41371669411540690220, y(x)=-0.83125387555490681812
x=fi(4)=-1.09955742875642759060, y(x)=-0.43701602444882098331
x=fi(5)=-0.78539816339744827900, y(x)=0.00000000000000011102
x=fi(6)=-0.47123889803846896740, y(x)=0.43701602444882114984
x=fi(7)=-0.15707963267948965580, y(x)=0.83125387555490692915
x=fi(8)=0.15707963267948965580, y(x)=1.14412280563536872258
x=fi(9)=0.47123889803846896740, y(x)=1.34499702392791453676
x=fi(10)=0.78539816339744827900, y(x)=1.41421356237309492343
x=fi(11)=1.09955742875642759060, y(x)=1.34499702392791453676
x=fi(12)=1.41371669411540690220, y(x)=1.14412280563536872258
x=fi(13)=1.72787595947438621380, y(x)=0.83125387555490692915
x=fi(14)=2.04203522483336552540, y(x)=0.43701602444882120535
x=fi(15)=2.35619449019234483700, y(x)=0.00000000000000011102
x=fi(16)=2.67035375555132414860, y(x)=-0.43701602444882092779
x=fi(17)=2.98451302091030346020, y(x)=-0.83125387555490670710
x=fi(18)=3.29867228626928277180, y(x)=-1.14412280563536850053
x=fi(19)=3.61283155162826208340, y(x)=-1.34499702392791453676
x=fi(20)=3.92699081698724139500, y(x)=-1.41421356237309514547

x=fj(1)=-1.884956, Ln(x)=-1.26007351067014261581, y(x)=-1.26007351067010109347
x=fj(2)=-1.413717, Ln(x)=-0.83125387555490681812, y(x)=-0.83125387555490681812
x=fj(3)=-0.942478, Ln(x)=-0.22123174208247439743, y(x)=-0.22123174208247431416
x=fj(4)=-0.471239, Ln(x)=0.43701602444882114984, y(x)=0.43701602444882114984
x=fj(5)=0.000000, Ln(x)=0.99999999999999977796, y(x)=1.00000000000000000000
x=fj(6)=0.471239, Ln(x)=1.34499702392791453676, y(x)=1.34499702392791453676
x=fj(7)=0.942478, Ln(x)=1.39680224666742058837, y(x)=1.39680224666742058837
x=fj(8)=1.413717, Ln(x)=1.14412280563536872258, y(x)=1.14412280563536872258
x=fj(9)=1.884956, Ln(x)=0.64203952192020652401, y(x)=0.64203952192020630196
x=fj(10)=2.356194, Ln(x)=0.00000000000000011102, y(x)=0.00000000000000011102

0.0000000000000115 - погрешность


Если кому интересен код - могу скинуть.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему    На страницу 1, 2, 3  След.  Страница 1 из 3 [ Сообщений: 29 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
как разобрать число

в форуме Алгебра

maksimlya

4

359

12 июн 2014, 12:49

Разобрать подробнее действие с матрицей

в форуме Линейная и Абстрактная алгебра

Wolf4561

1

121

23 янв 2020, 22:14

Разобрать решение задачи на формулы приближенных вычислений

в форуме Дифференциальное исчисление

alextrim

3

321

31 окт 2014, 12:18

НОД полиномов

в форуме Линейная и Абстрактная алгебра

Danaya123

0

137

15 май 2019, 18:51

Делимость полиномов

в форуме Линейная и Абстрактная алгебра

andrey546

1

437

24 сен 2014, 16:39

Вычитание полиномов по модулю

в форуме Теория чисел

leffken

1

350

04 окт 2016, 21:29

Вывод полиномов Цернике

в форуме Функциональный анализ, Топология и Дифференциальная геометрия

fetaleksej

0

323

17 мар 2015, 09:16

Факторизация полиномов - запутался

в форуме Алгебра

tryol0

2

105

25 сен 2023, 15:38

Задача на делимость полиномов

в форуме Теория чисел

Zdrastes

8

540

17 янв 2015, 16:04

Декомпозиция полиномов со множеством переменных

в форуме Пределы числовых последовательностей и функций, Исследования функций

Mishinator

0

58

07 ноя 2022, 17:16


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved