Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів icon

Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів




НазваМетодичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів
Сторінка10/14
Дата25.10.2012
Розмір1.03 Mb.
ТипМетодичні рекомендації
джерело
1   ...   6   7   8   9   10   11   12   13   14
^

7.1 Інтерполяція поліномами


Існують різні методи побудови інтерполяційного полінома по заданих точках. Їх основна ціль – побудувати таку функцію (поліном) g(х), значення якої не тільки співпадають із значеннями yk в заданих точках, але і має найменше відхилення від f(х) в інших точках відрізка [a,b].


Приклад

Нехай наша функція f(х) задана на відрізку [a,b] =[1,1.5] вузлами інтерполяції, поданими в таблиці.


xi

1.0

1.1

1.2

1.3

1.4

1.5

yi

1.04

1.06

1.09

1.12

1.16

1.21


Необхідно побудувати інтерполяційні поліноми і обчислити з їх допомогою значення f(xi) для заданих xi.

х1=1.26

х2=1.47

х3=1.03
^
1. Введемо два вектори і заповнимо їх початковими даними:

х=[1.0 1.1 1.2 1.3 1.4 1.5]

у=[1.04 1.06 1.09 1.12 1.16 1.21]
Нанесемо точки нашої табличної функції маркерами на графік за допомогою функції plot:
>>plot(х,у,’ko’)

Третій аргумент ’ko’ означає побудову графіка маркерами.
^
Для довідки. Зміна властивостей ліній і оформлення графіків.
Третій вхідний аргумент функції plot дозволяє управляти видом графіків. Задається у вигляді рядка значень в лапках.



Колір
Тип маркера
Тип лінії
в
жовтий
.
крапка
-
суцільна

m

рожевий

o

кружок

:

пунктирна

з

голубий

х

хрестик

-.

Штрих-пунктирна

r

червоний

+

знак «+»

--

штрихова

g

зелений

*

зірочка







b

синій

s

квадрат







w

білий

d

ромб






k
чорний


Для оформлення графіків використовується декілька команд.

Команда

Призначення

title

Заголовок графіка

xlabel

Підпис осі абсцис

ylabel

Підпис осі ординат

legend

Розшифровка позначень (легенда)



Рис. 7.1. Приклад нанесення на сітку значень функції у вигляді точок
^
Тепер розглянемо роз’язування задачі інтерполяції цієї табличної функції різними методами.

7.1.1 Інтерполяція поліномами за методом найменших квадратів


Стандартний метод інтерполяції, реалізований в MATLAB – метод найменших квадратів. Ми знаємо, що в MATLAB поліноми представляються у вигляді вектора своїх коефіцієнтів. Побудова поліномів фіксованого ступеня для наближення табличної функції однієї змінної робиться за допомогою функції polyfit з трьома вхідними параметрами.

polyfit=(х,у,n)

де х – вектор значень абсцис;

у- вектор значень ординат;

n-ступінь полінома.

Функція polyfit дозволяє знаходити коефіцієнти полінома.

Побудуємо інтерполяційний поліном 4-й ступеня для нашого прикладу і знайдемо його коефіцієнти:

>>р4=polyfit(х,у,4);

р4 =

2.0833 -10.1389 18.6875 -15.1456 5.5536


Для обчислення значення полінома в заданій точці (або точках) призначена відома нам функція polyval, у якості аргументів якої указуються вектор коефіцієнтів і вектор значень xi.

Задамо діапазон значень xi у вигляді вектора t (на відрізку від 1.0 до 1.5 з кроком 0.05:

t=1.0:0.05:1.5

>> t=1.0:0.05:1.5

t = [1.0000 1.0500 1.1000 1.1500 1.2000 1.2500 1.3000

1.3500 1.4000 1.4500 1.5000]


Обчислимо вектор P4 значень полінома в цих точках


>>P4=polyval(р4,t)

P4 = [1.0399 1.0489 1.0606 1.0741 1.0888 1.1045 1.1212

1.1393 1.1594 1.1826 1.2101]


Побудуємо графік полінома за допомогою функції plot у вигляді суцільної лінії, причому виведемо його в те саме вікно, що і точковий графік. Додамо заголовок і підписи на графіці:

hold on

plot(t,P4,'k-')

hold on

legend('табличні дані','n=4')

title('Наближення табличної функції поліномом 4-ступеня.')



Рис. 7.2. Графік табличної функції і її інтерполянта


Знайдемо за допомогою побудованого інтерполяційного полінома значення g(xi) для заданих xi.
х1=1.26

х2=1.47

х3=1.03


>>у1=polyval(р4,1.26)

>>у2=polyval(р4,1.47)

>>у3=polyval(р4,1.03)

Отримані результати представимо в таблиці:


xi

1.26

1.47

1.03

yi

1.1077

1.1930

1.0449


Обчислимо значення інтерполяційного полінома g(xi) в заданих точках вектора Х= [1.0 1.1 1.2 1.3 1.4 1.5]

P= polyval(р4,х)


P = [1.0399 1.0606 1.0888 1.1212 1.1594 1.2101]

Порівнюючи значення, отримані за допомогою інтерполяційного полінома 4-го ступеню із заданими в прикладі значеннями yk, можна зробити висновок, що при заданій точності обчислень вони співпадають.

у=[1.04 1.06 1.09 1.12 1.16 1.21]


Підсумуємо виконані дії у вигляді файл-програми interpolation1.m

%файл interpolation1.m

%Функцію задано таблицею х-вектор вузлів інтерполяції

% в - вектор значень функції у вузлах

х=[1.0 1.1 1.2 1.3 1.4 1.5];

у=[1.04 1.06 1.09 1.12 1.16 1.21];

%будуємо точковий графік табличної функції

plot(х,у,'ko')

grid on

%знаходимо коефіцієнти полінома 4-го ступеня

р4=polyfit(х,у,4);

%знаходимо точкові значення полінома на відрізку t

t=1.0:0.05:1.5;

P4=polyval(р4,t);

%затримка

hold on

%будуємо графік полінома P4 по точках t в тому ж вікні

plot(t,P4,'k-')

hold on

%оформляємо графік підписами

legend('табличні дані','n=4')

title('Наближення табличної функції поліномом 4-ступеня.')

%Обчислимо значення поліному в заданих точках

у1=polyval(р4,1.26)

у2=polyval(р4,1.47)

у3=polyval(р4,1.03)

^

7.1.2 Інтерполяційний поліном Лагранжа


Інтерполяція методом Лагранжа припускає обчислення невідомих значень функції шляхом отримання середньозваженого значення функції у відомих сусідніх точках.

Коефіцієнти інтерполяційного полінома Лагранжа обчислюються за наступною формулою:




Сам поліном Лагранжа має наступний загальний вигляд:

P(х)=1(х)f(х1)+ 2(х)f(х2)+.+ k(х)f(xk)


Розглянемо інтерполяцію поліномом Лагранжа для нашого прикладу.

Приклад.

xi

1.0

1.1

1.2

1.3

1.4

1.5

yi

1.04

1.06

1.09

1.12

1.16

1.21


Необхідно побудувати інтерполяційний поліном Лагранжа і обчислити з його допомогою значення f(xi) для заданих xi.
^
х1=1.26

х2=1.47

х3=1.03
1. Введемо два вектори і заповнимо їх початковими даними:

х=[1.0 1.1 1.2 1.3 1.4 1.5]

у=[1.04 1.06 1.09 1.12 1.16 1.21]


Знайдемо коефіцієнти полінома wi, і=1,6.

w1=((х-1.1)*(х-1.2)*(х-1.3)*(х-1.4)*(х-1.5))/((1.0-1.1)*(1.0-1.2)*(1.0-1.3)*(1.0-1.4)*(1.0-1.5))

w2=((х-1.0)*(х-1.2)*(х-1.3)*(х-1.4)*(х-1.5))/((1.1-1.0)*( 1.1-1.2)*( 1.1-1.3)*( 1.1-1.4)*( 1.1-1.5))

w3=((х-1.0)*(х-1.1)*(х-1.3)*(х-1.4)*(х-1.5))/((1.2-1.0)*( 1.2-1.1)*( 1.2-1.3)*( 1.2-1.4)*(1.2-1.5))

w4=((х-1.0)*(х-1.1)*(х-1.2)*(х-1.4)*(х-1.5))/((1.3-1.0)*( 1.3-1.1)*( 1.3-1.2)*(1.3-1.4)*(1.3-1.5))

w5=((х-1.0)*(х-1.1)*(х-1.2)*(х-1.3)*(х-1.5))/((1.4-1.0)*( 1.4-1.1)*( 1.4-1.2)*(1.4-1.3)*(1.4-1.5))

w6=((х-1.0)*(х-1.1)*(х-1.2)*(х-1.3)*(х-1.4))/((1.5-1.0)*( 1.5-1.1)*( 1.5-1.2)*(1.5-1.3)*(1.5-1.4))
Всі рівняння коефіцієнтів містять змінну х, значення якої невідоме. Підставляючи в ці рівняння значення х1=1.26, х2=1.47 і х3=1.03, отримаємо чисельні значення коефіцієнтів в цих точках.

Призначимо змінній х значення першої точки х1=1.26

>>х=1.26

Введемо рівняння коефіцієнтів у вікні команд і отримаємо:

w1 = 0.0108

w2 = -0.0874

w3 = 0.4659

w4 = 0.6989

w5 = -0.0998

w6 = 0.0116


>> Тепер обчислимо значення полінома Лагранжа в цій точці.

P(х)=1(х)f(х1)+ 2(х)f(х2)+.+ k(х)f(xk)

де f(xi)=yi


xi

1.0

1.1

1.2

1.3

1.4

1.5

yi

1.04

1.06

1.09

1.12

1.16

1.21


>> P= w1*1.04+w2*1.06+w3*1.09+w4*1.12+w5*1.16+w6*1.21


P = 1.1075


Таким же чином обчислюємо коефіцієнти і значення полінома в інших точках.

>>х=1.47

Отримаємо:

w1 = 0.0297

w2 =-0.1888

w3 = 0.5174

w4 =-0.8217

w5 = 0.9978

w6 = 0.4656


P = 1.1952

Для третьої точки х=1.03

>> х=1.03

w1 = 0.4656

w2 = 0.9978

w3 = -0.8217

w4 = 0.5174

w5 = -0.1888

w6 = 0.0297


P = 1.0427

Результати подамо в таблиці

xi

1.26

1.47

1.03

yi

1.1075

1.1952

1.0427


Отримані значення практично співпадають з отриманими за методом найменших квадратів.


xi

1.26

1.47

1.03

yi

1.1077

1.1930

1.0449


Узагальнимо метод Лагранжа для знаходження значень в будь-яких точках заданого відрізка. Напишемо файл-функцію Lagrange.m і тестову програму TestLagran.m


function yy=lagrange(х,у,xx)

% обчислення інтерполяційного полінома у формі Лагранжа

% х - масив координат вузлів

% в - масив значень інтерпольованої функції

% xx - масив значень аргументу, для яких треба обчислити значення полінома

% yy - масив значень полінома в точках xx

% обчислюємо число вузлів інтерполяції (N=n+1)

N=length(х);

% створюємо нульовий масив значень інтерполяційного полінома

yy=zeros(size(xx));

% в циклі рахуємо суму по вузлах

for k=1:N

% обчислюємо добутки

t=ones(size(xx)); %створення масиву одиничних елементів

for j=[1:k-1, k+1:N]

t=t.*(xx-х(j))/(х(k)-х(j));

end

% накопичуємо суму

yy = yy + y(k)*t;

end


Тест-програма, в якій задаються вхідні дані і викликається функція lagrange(х,у,xx)


% TestLagran.m

х=[1.0 1.1 1.2 1.3 1.4 1.5];

у=[1.04 1.06 1.09 1.12 1.16 1.21];

xx=[1.26 1.47 1.03];

[yy]= lagrange(х,у,xx)

% побудова графіків

% виведення вузлів інтерполяції(х)

plot(х,у,'ko')

hold on

% виведення графіка полінома

plot(xx,yy,'r')


>> TestLagran


yy = 1.1075 1.1952 1.0427

^

7.1.3 Інтерполяційний поліном Ньютона


Інтерполяційний поліном Ньютона ступеня k, yk ) можна представити в наступній загальній формі:


Pn(х)=d0,0+d1,1(х-х0)+….+dn,n(х-х0)(х-х1)(х-xn-1)

де dk,k= d[х01,....,xk] – скінчені різниці
dk,0 = yk і dk,j= (dk,j-1 - dk-1,j-1)/(xk - xk-j)


Для побудови і обчислення полінома Ньютона напишемо функцію [C,D] = newpoly(х,у) і збережемо її у файлі newpoly.m


function [C,D]=newpoly(х,у)

%Вхід х - вектор абсцис

% y - вектор ординат

%Вихід C - вектор коефіцієнтів полінома Ньютона

% D - таблиця скінчених різниць

n=length(х);

D=zeros(n,n);

D(:,1)=у'; %транспонування рядка в стовпець

%Формування таблиці скінчених різниць D

for j=2:n

for k=j:n

D(k,j)=(D(k,j-1)-D(k-1,j-1))/(х(k)-х(k-j+1));

end

end

%Обчислення коефіцієнтів полінома Ньютона

C=D(n,n);

for k=(n-1):-1:1

C=conv(C,poly(х(k)));

m=length(C);

C(m)=C(m)+D(k,k);

end


Тест-програма, в якій задаються вхідні дані, викликається функція newpoly і обчислюються значення полінома в заданих точках.


%Тест TestNewpoly

х=[1.0 1.1 1.2 1.3 1.4 1.5];

у=[1.04 1.06 1.09 1.12 1.16 1.21];

[C,D]=newpoly(х,у)


%Значения полінома в заданих точках

у1=polyval(C,1.26)

у2=polyval(C,1.47)

у3=polyval(C,1.03)


Виконаємо TestNewpoly в робочому середовищі Matlab

>> TestNewpoly

Результати:

С =

-25.0000 158.3333 -398.7500 499.4167 -310.9100 77.9500


D =

1.0400 0 0 0 0 0

1.0600 0.2000 0 0 0 0

1.0900 0.3000 0.5000 0 0 0

1.1200 0.3000 -0.0000 -1.6667 0 0

1.1600 0.4000 0.5000 1.6667 8.3333 0

1.2100 0.5000 0.5000 0.0000 -4.1667 -25.0000


у1 = 1.1075

у2 = 1.1952

у3 = 1.0427


1   ...   6   7   8   9   10   11   12   13   14

Схожі:

Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМетодичні рекомендації до виконання практичних робіт з курсу «Операційний менеджмент»
Методичні рекомендації до виконання практичних робіт з курсу «Операційний менеджмент» (для студентів 3 курсу денної форм навчання...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМетодичні рекомендації для виконання практичних робіт з дисципліни «Проектна діяльність»
Методичні вказівки для виконання практичних робіт з дисципліни «Проектна діяльність» (для студентів 5 курсу денної форми навчання...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМетодичні рекомендації до виконання лабораторних робіт з курсу "аналітична хімія" (якісний аналіз) Для студентів
Методичні рекомендації до виконання лабораторних робіт з аналітичної хімії для студентів факультету природничих наук. Спеціальність...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМіністерство аграрної політики України державний вищій навчальний заклад державний агроекологічний університет екологічний факультет методичні рекомендації до виконання практичних робіт з дисципліни “Геоекологічний ризик”
Методичні рекомендації до виконання практичних робіт з дисципліни «Геоекологічний ризик» розроблено доцентом кафедри моніторингу...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconГ. В. Стадник Методичні рекомендації до виконання контрольних робіт з дисципліни
Методичні рекомендації до виконання контрольних робіт з дисципліни “Політична економія” (для студентів 2 курсу економічних спеціальностей)....
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМетодичні рекомендації до виконання практичних завдань
Методичні рекомендації до виконання практичних завдань з навчальної дисципліни “Стратегічний аналіз” для студентів спеціальності...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМетодичні рекомендації до виконання практичних завдань
Методичні рекомендації до виконання практичних завдань з навчальної дисципліни «Економіко-математичне моделювання фінансового стану...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМетодичні рекомендації для виконання контрольних робіт з курсу: "Безпека життєдіяльності"
Методичні рекомендації для виконання контрольних робіт з курсу: "Безпека життєдіяльності" для студентів заочної форми навчання Херсонського...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМетодичні рекомендації для виконання контрольних робіт з курсу: "охорона праці"
Методичні рекомендації для виконання контрольних робіт з курсу “Охорона праці” для студентів заочної форми навчання Херсонського...
Методичні рекомендації до виконання практичних та розрахункових робіт для студентів напрямів iconМіського господарства методичні вказівки до виконання практичних робіт з дисципліни
Методичні вказівки до виконання практичних робіт з дисципліни “Основи теорії транспортних процесів та систем“ / для студентів 3 курсу...
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи