2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 15:26 
Приветствую уважаемых участников форума. Есть такая задача: необходимо интерполировать таблично заданную функцию функцией минимальной степени, способной к перегибам, так, чтобы в крайних точках первая и вторая производные интерполирующей функции совпадали с вектором, проведенным через две крайние точки. Проще говоря, чтобы при продлении функции за область определения таблицы(экстраполяции), функция шла по инерции и не перегибалась(или по возможности минимально). Каким способом и алгоритмом это сделать?

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 15:42 
Аватара пользователя
1. Проведём через крайние точки прямую.
2. Вычтем её из всех точек.
3. Осталась фигня: провести интерполяцию через точки (в крайних - значения 0), чтобы и производные на концах были 0.
Теперь отложим это в сторону и посмотрим на такой факт: шёл какой-то сложный многочлен с корнями 0 и 1 (и, наверное, где-то ещё, но нам сейчас неважно). Мы его умножили на $x(1-x)$. Что с ним стало?

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 15:49 
Цитата:
1. Проведём через крайние точки прямую.

Речь о двух концах - и слева и справа, т.е. проводить прямую через две крайние точки слева и другую - через две справа? Или я что-то не понял?

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 15:56 
Аватара пользователя
А, нет, это я сначала не понял. Надо модифицировать.

-- менее минуты назад --

1. Проведём кубический полином, имеющий...

-- менее минуты назад --

нет, надоело. Слушайте, Вы интерполяцию какого рода ищете? Человеческую? Или лишь бы через точки проходила, а там и ладно?

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 16:22 
Я не понимаю, в чем может быть разница между таким? Должна проходить через все точки таблицы. Интерполирующая функция должна уметь перегибаться и иметь минимальную степень. Должна быть аналитической для возможности экстраполяции не небольшой промежуток справа и слева. Условия по производным на концах - для минимизации краевых эффектов, возникающих от перегибов(участвующих в экстраполяции) на концах, например, кубического сплайна, при преобразовании Гильберта-Хуанга, где интерполирующая функция используется и для экстраполяции слева и справа.

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 16:31 
Аватара пользователя
Не всё понял, ну да плевать. Вычтите один многочлен пятой степени, у которого на концах правильные значения, а также первые и вторые производные.

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 16:33 
Кубический сплайн требует явного задания производных на концах. Обычно это всем мешает, и люди придумывают, откуда их выцарапать. Или порядок сплайна на концах понижают.
А у Вас --- вот они, производные эти, готовенькие.

-- 21 фев 2014, 17:34:14 --

Но здесь, как я понимаю, требуется полином минимальной степени, никакой не сплайн.

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 16:40 
ИСН в сообщении #829222 писал(а):
Не всё понял, ну да плевать. Вычтите один многочлен пятой степени, у которого на концах правильные значения, а также первые и вторые производные.

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

-- 21.02.2014, 16:41 --

ИСН в сообщении #829222 писал(а):
Не всё понял, ну да плевать. Вычтите один многочлен пятой степени, у которого на концах правильные значения, а также первые и вторые производные.

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

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 16:46 
fan_of_algoritms в сообщении #829201 писал(а):
функцией минимальной степени,
fan_of_algoritms в сообщении #829219 писал(а):
возникающих от перегибов(участвующих в экстраполяции) на концах, например, кубического сплайна,
Так полином или сплайн? Человеческая интерполяция или лишь-бы-через-точки?
fan_of_algoritms в сообщении #829219 писал(а):
Я не понимаю, в чем может быть разница между таким?
Разница огромная.

-- 21 фев 2014, 17:54:16 --

Достаточно к данным точкам $(x_1,y_1),\ldots(x_n,y_n)$ добавить две точки, $(x_0=x_1-h,y_0=y_1-hy'(0))$ (точки 0, 1, 2 лежат на одной прямой), и аналогично точку $n+1$, $x_{n+1}=x_n+h$ на втором конце. Построить тупой многочлен через $n+2$ точки. И взять предел при $h\to 0$. Мапл справится.

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 17:00 
Спасибо большое за ваши ответы. Идею я понял - разберусь(все так просто на самом деле :) ). Про Мапл я ничего не знаю - мне программу писать надо самому.

p.s.

Т.е. вы хотите сказать, что полином - это человеческая, а сплайн - лишь бы через точки(почему это не по человечески?)?

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 17:02 
Наоборот.

Ваша фраза про "функцию минимальной степени" вносит непонятки.

-- 21 фев 2014, 18:06:41 --

Кубический сплайн не является "функцией третьей степени". Функция какой-то степени --- это полином этой степени.
Но кубический сплайн является "сплайном третьей степени".

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 17:09 
Алексей К. в сообщении #829232 писал(а):
Наоборот.

Ваша фраза про "функцию минимальной степени" вносит непонятки.

-- 21 фев 2014, 18:06:41 --

Кубический сплайн не является "функцией третьей степени". Функция какой-то степени --- это полином этой степени.
Но кубический сплайн является "сплайном третьей степени".

К сожалению, я не знаю, как правильно сказать. Может быть - минимально-возможной кривизны.

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 17:12 
fan_of_algoritms в сообщении #829230 писал(а):
лишь бы через точки(почему это не по человечески?

Полином $n-1$ степени точно проходит через заданные $n$ точек, но является очень плохим инструментом интерполяции. Непредсказуемые экструмумы, биения всякие... Раньше про это много писали в книжках.

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 17:14 
Алексей К. в сообщении #829237 писал(а):
fan_of_algoritms в сообщении #829230 писал(а):
лишь бы через точки(почему это не по человечески?

Полином $n-1$ степени точно проходит через заданные $n$ точек, но является очень плохим инструментом интерполяции. Непредсказуемые экструмумы, биения всякие... Раньше про это много писали в книжках.

Понятно, мне тогда сплайн больше подойдет, сделаю его, спасибо за пояснение.

 
 
 
 Re: Помогите со способом интерполяции пожалуйста :)
Сообщение21.02.2014, 17:16 
Алексей К. в сообщении #829237 писал(а):
К сожалению, я не знаю, как правильно сказать.
Скажите "сплайн минимальной степени", если Вы подразумеваете именно интерполяцию полиномиальными сплайнами.

Постараюсь в течение вечера сделать простую поясняющую картинку. Но сейчас бежать надо.

 
 
 [ Сообщений: 21 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group