Добрый вечер! Помогите, пожалуйста, разобраться с интерполяцией Эрмита. У меня есть таблица и функция:

http://i062.radikal.ru/1311/69/9c1f0d2425c7.jpg

Нужно построить интерполяционный полином Эрмита по этим точкам.

Возник вопрос...

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

  • Но полином же должен быть один?

  • Эти три полинома надо как-то будет преобразовывать в один?

  • Шаг у таблицы разный, получается это должно сказаться на формуле?

задан 14 Ноя '13 0:06

Здесь должна быть точная постановка задачи -- что требуется получить. Обычно интерполяция Эрмита используется, когда в точках должны совпадать не просто значения, а ещё и производные вплоть до какого-то порядка, указанного в условии (для разных точек, вообще говоря, разного). Если же кратных точек нет, то получается интерполяционный многочлен Лагранжа, а он находится совсем просто по готовой формуле.

(14 Ноя '13 4:27) falcao

@falcao, Да, это я знаю... У меня больше практический вопрос.

(14 Ноя '13 8:51) 777Julia777

А в чём заключается практический вопрос? Здесь ведь надо уточнить постановку задачи насчёт того, какие производные должны совпасть. Для разных точек требования могут быть разными. От этого зависит и степень находимого многочлена, и ответ.

(14 Ноя '13 10:18) falcao

@falcao, вторые производные. Степень полинома получается - три? Насколько я понимаю... Но как мне его построить по нескольким точкам? Я умею строить по 2-м...

(14 Ноя '13 18:28) 777Julia777

@777Julia777: в каждой точке должны совпасть значения, первые производные и вторые производные, я правильно понял? Тогда многочлен получается вроде бы 11-й степени.

(14 Ноя '13 21:57) falcao

@falcao, то есть нам надо строить полином для каждого отрезка, а потом просто перемножить?...

(14 Ноя '13 22:57) 777Julia777

@777Julia777: не думаю, что такой способ подойдёт, потому что при перемножении с производными может произойти что угодно.

(14 Ноя '13 23:03) falcao

@falcao, а как тогда?...

(14 Ноя '13 23:04) 777Julia777
показано 5 из 8 показать еще 3
10|600 символов нужно символов осталось
0

Меня тут несколько смущает неполнота формулировки. Значения функции указаны в таблице, а о производных и тем более о вторых производных ничего не сказано. Надо бы всё-таки уточнить постановку задачи. Но если в самом деле требуется, чтобы в каждой из четырёх точек совпали значения вплоть до вторых производных, то можно действовать так.

Рассмотрим многочлен вида $%f_1(x)=(ax^2+bx+c)(x-x_2)^3(x-x_3)^3(x-x_4)^3)$%. Здесь в каждой из точек $%x_i$% при $%i\ne1$% равны нулю значения функции, её производные и вторые производные. Далее подбираются коэффициенты $%a,b,c$% так, чтобы в точке $%x_1$% значения $%f_1(x_1)$%, $%f_1'(x_1)$%, $%f_1''(x_1)$% принимали заданные значения. Это делается при помощи решения системы линейных уравнений: неизвестных три, и условия тоже три.

Такая процедура делается для каждой из четырёх точек в отдельности, то есть аналогичным образом строятся многочлены $%f_2$%, $%f_3$%, $%f_4$%. После чего все они складываются между собой, и получается то, что нужно.

ссылка

отвечен 14 Ноя '13 23:23

@falcao, примерно ясно... Спасибо большое!!! Я сейчас попробую решить и отпишусь... Получается ведь, если мне достаточно совпадения угла наклона, мне вообще достаточно только первой производной же, да?..

Тогда ведь, только для первой производной многочлен будет другого вида? Не могли бы Вы, пожалуйста, пояснить, откуда он берется? И откуда третьи степени?

(14 Ноя '13 23:28) 777Julia777

@777Julia777: совпадение угла наклона соответствует первой производной. Тогда достаточно домножать на квадраты, а не на кубы, и степень итогового многочлена не превосходит 7. Соответственно, множитель с неопределёнными коэффициентами там будет иметь вид $%ax+b$% в каждом из случаев.

(14 Ноя '13 23:35) falcao

@falcao, получается в случае со второй точной мы рассматриваем квадратах не точки x2, x3, x4, а точки x1, x3, x4?? Как в полиноме Лагранжа, Ньютона?

(14 Ноя '13 23:51) 777Julia777

@777Julia777: да, идея здесь по сути дела та же, то есть всё основано на аддитивности значений производных.

(14 Ноя '13 23:54) falcao

@falcao, спасибо) Сейчас попробую решить все это дело)

(14 Ноя '13 23:56) 777Julia777

@falcao, a получившиеся полиномы f1, f2, f3, f4 складывать арифметически?.. Разве тогда не пропадет смысл интерполяции?

(15 Ноя '13 3:08) 777Julia777

@777Julia777: здесь идея точно такая же, как и для полинома Лагранжа: у функций f2, f3, f4 значения в точке $%x_1$% равны нулю (включая значения производных), поэтому когда мы всё складываем, итоговое значение в точке $%x_1$% оказывается такое же, как у f1, а его мы сами подбирали таким, какое нужно. Это примерно как разложение вектора по базису.

(15 Ноя '13 8:20) falcao
показано 5 из 7 показать еще 2
10|600 символов нужно символов осталось
0

Сначала строим полином вида ax + b, значения которого в х1 и х2 совпадают со значениями функции.

Потом прибавляем к нему полином вида с(х - х1)(х - х2), где с выбирается так, чтобы значение функии в х3 совпало.

Ну и наконец прибавляем многочлен вида d(x - x1)(x - x2)(x - x3). И так далее для любого числа точек.

ссылка

отвечен 14 Ноя '13 4:21

А что значит "потом прибавляем к нему полином вида с(х - х1)(х - х2)"... Я знаю, как построить полином Эрмита для двух точек. Чтобы на концах совпадали производные... А как сделать это?

(14 Ноя '13 8:52) 777Julia777

Мы строим полином в несколько шагов. На первом шаге получаем полином для 2 точек, если вы знаете, как это делать. На втором шаге прибавляем к нему полином, у которого значения в наших двух точках нулевые, а также производные нулевые, чтобы р(x1), р(x2), р'(x1) и р'(x2) остались те же. Это многочлен вида с(х - х1)^2(x - x2)^2, где с - любое число. Мы и выбираем это таким, чтобы р(х3) = f(x3) (f(х) - исходная функция, р(х) - многочлен, который мы строим).

(14 Ноя '13 20:33) trongsund

А как это реализуется на практике? : "На втором шаге прибавляем к нему полином, у которого значения в наших двух точках нулевые, а также производные нулевые, чтобы р(x1), р(x2), р'(x1) и р'(x2) остались те же."

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

(14 Ноя '13 21:12) 777Julia777

он будет интерполировать функцию примерно так же, как и раньше. При первой интерполяции многочлен может довольно сильно отличаться от функции внутри отрезка, и полином на втором шаге тоже может отличаться. Поэтому и требуют знания производных более высокого порядка (зачастую). Прибавляем арифметически, но суть не поменяется.

(14 Ноя '13 23:10) trongsund

@trongsund, спасибо)

(15 Ноя '13 4:15) 777Julia777
10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×19

задан
14 Ноя '13 0:06

показан
3301 раз

обновлен
15 Ноя '13 8:20

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru