85545 (612511), страница 2

Файл №612511 85545 (Выбор и построение интерполирующей функции) 2 страница85545 (612511) страница 22016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Сплайн – интерполяция

В инженерной практике график функции y(xi) (i=0,N) строят в основном с помощью лекал. Если точки размещены редко, то пользуются гибкой линейкой (spline), ставят ее на ребро и изгибают так, чтобы она одновременно проходила через все точки.

Поскольку приближенное уравнение изгиба пружинистого бруса имеет вид , то можно допустить, что ее форма между узлами есть алгебраический полином 3-й степени.

Вероятно, интерполирующую функцию между каждыми двумя узлами можно взять, например, в таком виде:

(*)

.

Неизвестные коэффициенты ai, bi, ci, di найдем с условий в узлах интерполяции.

Поскольку полиномы совпадают с табличными значениями функции y(xi) (i=1,N) в узлах интерполяции, то:

(А)

(В)

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

С условий непрерывности производных у внутренних узлах имеем:

(С)

(D)

Найдем выражения для производных от сплайна S(i)(x):

(Е)

(F)

и подставим их в выражения (С) и (D). Как следствие, имеем 6

(G)

(H)

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

(I)

(J)

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

Уравнения (A), (B), (G)-(J) составляют полную СЛАУ для определения 4N неизвестных коэффициентов. Если эту СЛАУ преобразовать, то ее решение значительно упростится.

Очевидно, . Кроме того, из выражения (J)

(K)

а из выражения (H) –

(L)

Подставив уравнение (L) в формулу (В) учитывая, что , получим

; (М)

(N)

Извлекая из (G) bi и bi+1 с помощью (М), а di – на основании (L), придем к такой СЛАУ относительно ci:

(**)

Матрица этой тридиагональной, то есть нулю не равны только елементы главной и двух соседних диагоналей. Для ее решения можно воспользоваться любым методом, после чего надо найти bi и di из выражений (К) – (N).

Вообще-то можно рассмотреть задачу о нахождении сплайна n-й степени:

коэффициенты которого кусочно-постоянные и который в узлах интерполяции принимает значения заданной функции и непрерывный вместе со своими n-1 производными.

Практическая реализация

Программа на языке Pascal

В процессе выполнения работы мною была написана программа EITKIN на языке Pascal.

В данной программе есть два массива: одномерный массив X, в нем хранятся значения узлов интерполирования хi и двумерный массив Р, в нем хранятся значения многочленов степени не выше n, переменная z это, то значение для которого надо найти значение функции, n – количество узлов интерполирования. Все вычисления проводятся в одном встроенном цикле. Данные на экран выводятся в виде двухмерной матрицы.

Код программы:

program EITKIN;

uses wincrt, strings;

var x:array [1..60]of real;

p:array [1..60,1..60] of real;

z :real; i,j,n: integer;

begin

StrCopy(WindowTitle, 'Программа интерполяции функции по схеме Эйткина ');

clrscr;

write ('vvedite k-vo uzlov interpolirovanija n=');

readln (n);

write ('vvedite X dlja kotorogo nado najti znach func=');

readln (z);

writeln ('vvedite mas Xi');

for i:=1 to n do

begin

write ('vvedite elem X[',i,']=');

readln (x[i]);

end;

writeln ('vvedite mas Yi');

for i:=1 to n do

begin

write ('vvedite elem Y[',i,']=');

readln (p[1,i]);

end;

writeln ('PROCES VICHISLENIJA......');

for i:=2 to n do

begin

for j:=1 to n+1-i do

begin

p[i,j]:=1/(x[j+i-1]-x[j])*(p[i-1,j]*(x[j+i-1]-z)-p[i-1,j+1]*(x[j]-z));

end;

end;

writeln ('REZ MATRICA::::');

for i:=1 to n do

begin

write ('P^',i,'(',z:4:5,') | ');

for j:=1 to n+1-i do

begin

write (p[i,j]:4:5,' | ');

end;

writeln;

end;

writeln ('!!!!!!!!!OTVET!!!!!!!!!');

writeln ('y(',z:4:5,')=',p[n,1]:4:5);

readkey;

DoneWinCrt;

end.

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

Также для определения степени интерполирующего многочлена я написал программу konechn_razn.

Код программы:

program konechn_razn;

uses wincrt, strings;

var y:array [1..50,1..50] of real;

i,j,n: integer;

begin

StrCopy(WindowTitle, 'Программа построения конечных разностей ');

clrscr;

write ('vvedite k-vo znachenij funcii n=');

readln (n);

writeln ('vvedite mas Yi');

for i:=1 to n do

begin

write ('vvedite elem Y[',i,']=');

readln (y[i,1]);

end;

writeln ('PROCES VICHISLENIJA......');

for j:=2 to n do

begin

for i:=1 to n+1-j do

begin

y[i,j]:=y[i+1,j-1]-y[i,j-1];

end;

end;

writeln ('REZ MATRICA::::');

writeln (' Yi | Dyi ');

for i:=1 to n do

begin

for j:=1 to n+1-i do

begin

write (y[i,j]:4:5,' | ');

end;

writeln;

end;

readkey;

DoneWinCrt;

end.

Входными данными для этой программы есть: количество узлов интерполирования и значения функции yi, для которых надо построить конечные разности.

Решение в Excel

Для проверки вычислений я решил поставленную задачу в Excel по схеме Эйткина:

Также в целях проверки вычислений я решил данную задачу с помощью кубических сплайнов:

График, отображающий значения функции, вычисленные по схеме Эйткина и с помощью кубических сплайнов:

Выводы

Все многочлены, которые надо вичислить для данного х выражаются через определитель 2-го порядка, что делает вычисления единообразными. Схему Эйткина просто программировать.

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

Сопоставим исходные данные, у нас имеется 6 узлов интерполирования. По этим точкам можно построить интерполяционный полином, причем 5-й степени, привлекая к исследованию интерполяцию кубическим сплайном, утверждаю, что данным методом можно построить на каждом подинтервале полином 3-й степени. Последним словом в выборе между первым и вторым методом будут конечные разности на заданном множестве узлов. Конечные разности являются аналогом производной от функции. В данном случае конечные разности использованы для определения степени полинома и для определения полином данная функция или нет, с помощью которого можно максимально приблизить данную функцию.

Данного количества узлов интерполирования не достаточно для точного определения является ли данная функция полиномом, то есть в данном случае конечные разности не являются точным критерием для выбора между двумя методами интерполирования.

Эйткин

x=

0,47

y=

0,45289

сплайн

x=

0,47

y=

0,45277

В результате вычисления значения функции в точке 0,47 видно что значения функции в искомой точке мало отличимые. То есть в данном случае можно применять оба метода.

Если взять точность вычисления до четвертого знака после запятой, то степень полинома по данным конечных разностей будет полином 3-й степени. Поскольку по схеме Эйткина строятся все полиномы степени не выше 6-й. И в этом случае лучше применять кубические сплайны.


Список использованной литературы

  1. Б. П. Демидович и И. А. Марон. “Основы вычислительной математики”, Москва, 1963г.

  2. Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобельков. “Численные методы”, Москва, 1987г.

  3. Козин А. С., Лященко Н. Я. Вычислительная математика: Пособие для факультативных занятий в 10 классе.- К.: Рад. школа, 1983. – 191 с.

  4. Мусіяка В. Г. Основи чисельних методів механіки: підручник. – К.: Вища освіта, 2004. – 240 с.: іл.

  5. Л. Д. Назаренко Чисельні методи. Дистанційний курс.


Приложение

Результаты работы программы EITKIN:

Результаты работы программы konechn_razn:

Характеристики

Тип файла
Документ
Размер
12,43 Mb
Тип материала
Предмет
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6552
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее