|
Интерполяция функции., нужны ответы на вопросы |
|
|
|
Mar 21 2010, 21:47
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
очень нужны ответы на мои вопросы по интерполяции: Изначально имеем выборку в 2048 точек. Нужно построить интерполяционный полином для разных степеней. В частности интересует Лагранж 1-й, 2...6-й степеней. Читая в книгай по численным методам, понял что для построения по 2048 точкам нужен полином 2047 степени - это так называемая глобальная интерполяция. Далее, в разделе про локальную интерполяцию упоминается только линейная, квадратичная, и сплайн-интерполяция. Это интерполяции по двум точкам из множества, которые потом как бы склеиваются. Но про Лагранжа в локальной интерполяции нислова. Теперь читаю здесь http://www.dspsystem.narod.ru/content/farrow/farrow.html - автор описывает интерполяцию полиномом Лагранжа 3-й степени. Причём это работает для любого количесвта точек! Так вот я могу предположить, что автор берёт по четыре точки из множества (сколько точек бы не было - у меня 2048) и по ним строит полином 3-й степени. Причём четвёртая точка в первой группе, я вляется первой для следующей группы.... (по моему по такому принципу строится линейная ломаная по множеству точек, только там берут по две из всего множества) Так вот очень нужны коментарии форумчан. просто после прочтения книг и чтения в интернет некоторая нестыковка в голове(((((
|
|
|
|
|
Mar 22 2010, 07:44
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(TigerSHARC @ Mar 22 2010, 00:47)  Изначально имеем выборку в 2048 точек. Нужно построить интерполяционный полином для разных степеней. В частности интересует Лагранж 1-й, 2...6-й степеней.
Читая в книгай по численным методам, понял что для построения по 2048 точкам нужен полином 2047 степени - это так называемая глобальная интерполяция. Читаю определения полинома Лагранжа в Википедии: "Интерполяцио́нный многочле́н Лагра́нжа — многочлен минимальной степени, принимающий данные значения в данном наборе точек." Ясно, что в общем случае для выборки из 2048 точек полином Лагранжа будет иметь степень 2047. Следовательно, в общем случае для такой выборки полином Лагранжа 6-й степени не существует. То есть на самом деле Лагранж вас не интересует, если я правильно понял. Вас интересует полином 6-й степени, наилучшим образом приближающий выборку из 2048 точек. Кстати, в MS Excel есть такая функция: построить линию тренда, полином энной степени. Если нужно проделать 1 раз, то через Excel - самый простой способ. А вообще, если я правильно понимаю, для этого обычно применяют метод наименьших квадратов. То есть пишут 6 (по числу коэффициентов полинома) уравнений, каждое из которых гласит "производная суммы квадратов отклонений (Y(Xi)-Yi)^2 выборок от полинома по коэффициенту полинома равна нулю". Должна получиться простая система линейных уравнений, из которой получаются коэффициенты полинома.
|
|
|
|
|
Mar 22 2010, 11:29
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
Да. Спасибо. Нужен именно фарроу, точность устраивает. Просто хочу разобраться, как получается что полином 3-степени (Лагранж фильтром Фарроу) аппроксимирует (интерполирует) выборку из любого количесвта отсчётов??? в моём случае 2048. В книгах везде написано, что если точек N, то полином N-1 степени. В то же время http://www.dspsystem.narod.ru/content/farrow/farrow.html - автор строит интерполяцию полиномом лагранжа третьей степени для любого N. (и всё работает главное!) Так вот конечная цель осуществить такую передискретизацию по Лагранжу 1-й ,2-й, 4-й, 6-й степени дабы сравнить результаты. и
|
|
|
|
|
Mar 22 2010, 11:58
|
Знающий
   
Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195

|
так вот как это сделать? хотя бы в матлаб. Просто если использую interp1 - так там есть только линейная, кубичаская, и сплайн интерполяция. Просто надо сравнить погрешности при передискретизации полиномом Лагранжа 1-й, 2-й степени, 3-й степени, 4-й степени, 5-й степени и 6-й... _______________________________________________
так вот, возможно нужно делать так если интересует лагранж 1-й степени: берём по две точки из выборки в N точек. И между каждыми двумя точками находим полином первой степени. Причём последняя точка из двух становиться первой для второй пары точек и так далее... если рассматривается вторая степень, то берём уже по три точки из выборки и строим полином между каждыми тремя точками полином второй степени, причем каждая последняя из трёх становиться первой бля следующей тройки... и так далее....
справедливо?
Сообщение отредактировал TigerSHARC - Mar 22 2010, 12:00
|
|
|
|
|
Mar 22 2010, 12:17
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(TigerSHARC @ Mar 22 2010, 14:29)  Просто хочу разобраться, как получается что полином 3-степени (Лагранж фильтром Фарроу) аппроксимирует (интерполирует) выборку из любого количесвта отсчётов??? в моём случае 2048.
В книгах везде написано, что если точек N, то полином N-1 степени. Например вы когда результат ДПФ смотрите, всякие растекания спектра, не учитываете влияние далеко расположенных друг от друга спектральных составляющих, т к анализирующий фильтр прототип ДПФ - это синк, имеет спадающую АЧХ пропорционально 1/f, точно так же и во времени ограниченный по частоте сигнал можно представить суммой синков, и пренебрегать влиянием далеко расположенных друг от друга синков. Цитата(TigerSHARC @ Mar 22 2010, 14:58)  если рассматривается вторая степень, то берём уже по три точки из выборки и строим полином между каждыми тремя точками полином второй степени, причем каждая последняя из трёх становиться первой бля следующей тройки... и так далее....
справедливо? Нет, посмотрите на структуру форроу, исходные отсчёты продвигаются по линии задержки, следующая тройка будет включать 2 предыдущих отсчёта + 1 новый.
|
|
|
|
|
Mar 22 2010, 12:24
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(DRUID3 @ Mar 22 2010, 15:03)   вообще-то об обратном процессе, даже не обратном, а другом его способе применения, но картинка забавная... Слабая картинка. По трем точкам интерполяция интереснее и заманчивее будет. Вчера - 1, сегодня - 0, завтра 1. Цитата(petrov @ Mar 22 2010, 15:17)  Нет, посмотрите на структуру форроу, исходные отсчёты продвигаются по линии задержки, следующая тройка будет включать 2 предыдущих отсчёта + 1 новый. Это немножко несправедливо. Для 3. Вот для четырех будет симметрично- две слева, две - справа. Только на краях всегда плохо.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|