Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Математика

Аппроксимация функций

Тип: контрольная работа
Категория: Математика
Скачать
Купить
Построение массива конечных разностей. Выполнение экстраполяции. Вычисление приближенной функции с помощью многочлена Лагранжа. Определение значения функции с помощью формул Ньютона. Квадратичная сплайн-интерполяция. Среднеквадратичная аппроксимация.
Краткое сожержание материала:

16

16

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «Авиа- и ракетостроение»

Специальность 160801- «Ракетостроение»

Расчетно-графическая работа

по дисциплине «Основы САПР»

Аппроксимация функций

Омск 2006

Введение

Цель работы: Ознакомиться с методами интерполяции и аппроксимации функций

Задания:

Задание 1. Построить таблицу конечных разностей. Выполнить экстраполяцию на два узла от начала и от конца таблицы.

Задание 2. Построить интерполяционный многочлен Лагранжа и с его помощью найти

значения функции в узлах, соответствующих полушагу таблицы.

Задание 3. Найти значение f(x) с помощью формул Ньютона интерполирования вперед и назад.

Задание 4. Выполнить квадратичную сплайн-интерполяцию (по 6 узлам). Проконтролировать полученные оценки для промежуточных узлов.

Задание 5. Считая выбранную таблицу заданной для диапазона от 0 до 2?, выполнить среднеквадратическую аппроксимацию тригонометрическим многочленом (отрезком ряда Фурье) третьей степени.

Исходные данные:

x=[11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12];

y=[-0.00023,1.080087,2.064282,2.854531,3.37121,3.560925,3.402017,2.90698,2.121544,1.120452,0.000357];

1. Построение массива конечных разностей. Выполнение экстраполяции

Массив конечных разностей рассчитываем по формуле:

.

for i=1:10

for j=1:11-i

y(i+1,j)=y(i,j+1)-y(i,j);

end

end

Результат расчёта:

11,0

11,1

11,2

11,3

11,4

11,5

11,6

11,7

11,8

11,9

11,0

-0,0002

1,0801

2,0643

2.8545

3.3712

3.5609

3.4020

2.9070

2.1215

1.1205

0.0004

1.0803 0.9842 0.7902 0.5167 0.1897 -0.1589 -0.4950 -0.7854 -1.0011 -1.1201

-

-0.0961 -0.1939 -0.2736 -0.3270 -0.3486 -0.3361 -0.2904 -0.2157 -0.1190 -

-

-0.0978 -0.0796 -0.0534 -0.0217 0.0125 0.0457 0.0747 0.0967

-

-

-

0.0182 0.0262 0.0317 0.0342 0.0332 0.0290 0.0219

-

-

-

-

0.0080 0.0055 0.0024 -0.0009 -0.0042 -0.0071

-

-

-

-

-

-0.0025 -0.0031 -0.0033 -0.0033 -0.0029

-

-

-

-

-

-

-0.0006 -0.0002 0.0000 0.0004

-

-

-

-

-

-

-

0.0003 0.0003 0.0004

-

-

-

-

-

-

-

-

-0.0000 0.0001

-

-

-

-

-

-

-

-

-

0.0002

-

-

-

-

-

-

-

-

-

-

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

n=11; % Степень многочлена

i=0;

for p=10.8:0.1:12.2

i=i+1;

x1(i)=p;

ff(i)=Lagrange(x,y,p,n);

end

for j=1:11

yy(j)=y(1,j);

end

subplot(2,1,1); plot(x,yy,'.-'); ylabel('y'); xlabel('x'); grid on; title('Первоначальные данные')

subplot(2,1,2); plot(x1,ff,'.-'); ylabel('y'); xlabel('x'); grid on; title('Экстраполяция')

Получим:

х

10.8

10.9

12.1

12.2

f(х)

-2,0234

-1,0701

-1,1291

-2,1535

Рис. 1. Экстраполяция на два узла многочленом Лагранжа

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

Запишем интерполяционный многочлен Лагранжа:

,

где х - произвольная координата на заданном интервале.

_____________________________________________________________

function [x]=Lagrange(x,y,a,n)

for i=1:n

for j=1:n

s(i,j)=1;

end

end

ss=1;

for j=1:n

for i=1:n

if j~=i

s(j,i)=(a-x(i))/(x(j)-x(i));

end

end

end

ss=prod(s,2);

L=0;

for k=1:n

L=L+y(1,k)*ss(k);

end

x=L;

_____________________________________________________________

i=0;

for p=11:0.01:12

i=i+1;

x1(i)=p;

ff(i)=Lagrange(x,y,x1(i),n);

end

subplot(2,1,2); plot(x1,ff,'.-'); ylabel('y'); xlabel('x'); grid on; title('Интерполяция многочленом Лагранжа')

Рис. 2. Интерполяция многочленом Лагранжа

3. Определение значения функции с помощью формул Ньютона

а) Интерполяционная формула Ньютона для интерполирования вперёд:

где - промежуток между последовательными узлами интерполирования, (в рассматриваемом случае промежуток постоянен);

n - степень многочлена;

.

_____________________________________________________________

function [x]=Nuton_vp(k,x,y,n);

n=round(k)+1; % Степень многочлена

if n==12

n=11;

end

t=(k-1)/1;

t1(1)=1;

for j=2:n

t1(j)=t-(j-2);

end

t2=cumprod(t1);

for j=1:n

Pn(j)=y(j,1)*t2(j)/FACTORIAL(j-1);

end

x=sum(Pn,2);

_____________________________________________________________

n=11;

i=0;

for p=11:0.05:12

i=i+1;

a=0.5+i*0.5;

x1(i)=p;

ff(i)=Nuton_vp(a,x,y,n);

end

% Построение графика

subplot(2,1,2); plot(x1,ff,'.-'); ylabel('y'); xlabel('x'); grid on

title('Интерполяция многочленом Ньютона вперёд')

Рис. 3....

Другие файлы:

Аппроксимация функций
Интерполяция (частный случай аппроксимации). Аппроксимация функцией. Метод наименьших квадратов. Из курса математики известны 3 способа задания функци...

Методы аппроксимаций функций
Аппроксимация функций методом наименьших квадратов. Описание программного средства: спецификация переменных, процедур и функций, схемы алгоритмов. Реа...

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

Аппроксимация функций
Способы построения интерполяционных многочленов Лагранжа, основные этапы. Интерполирование функций многочленами Ньютона, способы построения графика. П...

Аппроксимация табулированных функций
Особенности метода аппроксимации табулированных функций. Рассмотрение преимуществ работы в среде математической программы Mathcad. Метод наименьших кв...