You are on page 1of 7

ЛАБОРАТОРНА РОБОТА 83.

Дослідження функцій, розв'язання рівнянь,


чисельне інтегрування та інтерполяція в Має аб

Мета: Навчитися застосовувати в Маф аб методи дослідження функцій,

розв'язувати | рівняння, використовувати з методи чисельного інтегрування Ta

інтерполяції.

34 Теоретичні відомості
В Машфаь за допомогою дії прямого (/) та зворотного ділення () досить
пи . .
просто та швидко розв'язуються системи лінійних алгебраїчних рівнянь (СЛАР)

методом Гауса для систем вигляду ХА - В та Ах є В, відповідно. Цим діям

аналогічні відповідні функції гагаїміде та тідїміде. Для розв'язання СЛАР також

використовується функція!іп5оїЇме.
Крім того, Май аб має цілий набір функцій (зоіме, fsolve, dsolve Tomo), WO
дозволяють розв'язувати рівняння та системи рівнянь у символьному вигляді.
Розв'язання рівнянь, визначення максимуму або мінімуму функції однієї або
кількох змінних здійснюється викликом наступних функцій Май аб:
Вего - визначення нулів функції однієї змінної; функція дозволяє наближено
обчислити корінь рівняння за заданим початковим наближенням. Важливою
особливістю дгего є те, що вона обчислює лише ті корені, в яких функція змінює знак, а

не є дотичною до осі абсцис;


йтіпбпо, йтіп5еагсі - визначення локального мінімуму функції однієї та кількох
змінних на відрізку, відповідно;
optimset - задання додаткових параметрів (точність обчислень, кількість ітерацій

та тан.) та контроль обчислювального процесу.


Кількість аргументів вбудованих функцій може бути різним, залежно від
потрібного вигляду результату. Для роботи с ними необхідно попередньо написати
власну М-функцію для обчислення досліджуваної функції.
Для чисельного інтегрування в Майфаб використовуються функції ігарх, quad,
дЬідчаа (обчислення подвійних інтегралів).
Поліном в Ма аб задається вектором його коефіцієнтів. Кількість елементів

вектора, тобто кількість коефіцієнтів полінома завжди на одиницю більша за його

степінь, нульові коефіцієнти повинні міститися у векторі.


2

Для обчислення значення поліному від певного аргументу використовується


функція роїумаї, для визначення всіх коренів поліному - функція гоої5, для множення та
ділення поліномів - функції сопу та десопу, відповідно. Функція роіудег повертає

похідну полінома. Число коренів полінома, як відомо, співпадає зі степенем полінома.


Приклад 3.1. Вивести графік та знайти корені многочлену /(х) - хо - х Я 2.
Розв'язок задачі (див. рис.3.1) реалізує наступний скрипт.

f=[1,0,-1,2];
x=-1:.01:1;
y=polyval(f,x);
plot(x,y)
grid
roots(f)

ans =
-1.5214 + 0.0000i
0.7607 + 0.8579i
0.7607 - 0.8579і

Рисунок 3.1. Графік полінома

Найпростішим способом поліноміальної апроксимації є наближення поліномом за

допомогою методу найменших квадратів (МНК), який реалізується за допомогою


функції polyfit.
Приклад 3.2. Нехай досліджувана функція задана у вигляді такої таблиці

Хі 0.1 0.2 0.4 0.5 0.6 0.8 12


у -3.5 -4.8 -2.1 0.2 0.9 2.3 3.7
Апроксимувати її поліномами 4-го, 3-го та 6-го степеня й вивести графіки, що
зображують характер наближень. Розв'язок задачі реалізує функція, наведена нижче.
З прикладу 3.2 видно, що наближення МНК дає хороший результат не завжди.

Так, при збільшенні степеня можливе погіршення наближення, що Й відбувається при


n=6.
9 Поліноміальна 30 Наближення поліномами МНК
96 апроксимація МНК | | | |
x=[0.1 0.2 0.4 0.5 0.6 0.8 1.2]; 25/
y=[-3.5 -4.8 -2.1 0.2 0.9 2.3 3.7];
20+
96 виведенняграфіка
96 табличноїфункції 151
plot(x,y,'ko'); holdon;
p4=polyfit(x,y,4); то
p5=polyfit(x,y,5); 51
p6=polyfit(x,y,6);
t=[0.1:0.01:1.2]; oF 0 (табличнідані
96 побудоваграфіківполіномів 51 п |
P4=polyval(p4,t); пеб
P5=polyval(p5,t); п 02 od ов 08 1 12
P6=polyval(p6,t);
plot(t,P4,'k',t,P5,'r',t,P6,'b');
Рис.3.2. Наближення поліномами МНК
grid
legend(‘ta6anyHigani','n=4','n=5','n=6','Location','’southeast');
шІеГ"Наближенняполіномами МНК');

При інтерполяції 1ІД-даних в Мафаб застосовують функцію іпіегрі, для


використання якої потрібно задати координати абсцис проміжних точок, в яких
обчислюються значення інтерполянта, та спосіб інтерполяції: 'пеаге5і" - інтерполяція за

сусідніми елементами (східчаста); "Їпеаг - лінійна інтерполяція (є методом за


замовчуванняму);'пехі" - інтерполяція за наступним сусідом (інтерпольоване значення в
поточній точці є значенням у наступній точці сітки); 'ргеміоц5" - інтерполяція 3a
попереднім сусідом (інтерпольоване значення в поточнійточці є значенням у попередній
точці сітки); "рсбір'- кусково-кубічна інтерполяція зі збереженням форми у сусідніх
точках сітки; сибіс'/"убсибіс' - кубічна інтерполяція (згортка); 'єріїпе" - інтерполяція

кубічними сплайнами, 'ппаКіта" - модифікована кубічна інтерполяція. Вихідним


аргументом іпіегрі є вектор значень інтерполянта. Зазначені способи інтерполяції
функції з розглянутого прикладу демонструють наведені далі функція та графіки (див.
приклад 3.3 та рис.3.3).
Приклад 3.3.
96 Способи інтерполяції
x=[0.1 0.2 0.4 0.5 0.6 0.8 1.2]; y=[-3.5 -4.8 -2.1 0.2 0.9 2.3 3.7];
96 задання координат проміжних точок для інтерполяції (сітки)
xi=x(1):0.01:x(length(x));
ynear=interp1(x,y,xi,'nearest’); ynext=interp1(x,y,xi,'next');
ypre=interp1(x,y,xi,'previous'); ypchip=interp1(x,y,xi,'pchip');
yline=interp 1(x,y,xi,'linear'); yspline=interp1(x,y,xi,'spline');
ymakima=interp1(x,y,xi,’makima’');
plot(x,y,'ko',xi,ynext,'c',xi,ypre,'m',xi,ynear,'k',xi,ypchip,'g',xi,yline,'b',xi,yspline,'r’,...
xi, ymakima,'k--');
title(‘IHTepnonauia'); xlabel('\itx'); ylabel('\ity');
legend(‘ta6anua','next','previous','nearest','pchip','linear','spline','makima’....
‘Location','southeast');

Для реалізації сплайнової інтерполяції використовується також функція spline.


Так, для прикладу 3.2 реалізація сплайнової інтерполяції може виглядати наступним

чином:

yspline= spline 1(x,y,xi);


plot(xi,yspline,'k--');

Інтерполяція
5 T T T T T

4 L 4

3 L.

2r 4

1 4

мор 4

Р О таблиця|-
пехі
2+ previous | -
nearest
-3+ pchip 4
linear
4+ spline 4
——-—-makima
-Б 1 1 1 1

0 0.2 0.4 0.6 0.8 1 1.2

Puc.3.3. Cnoco6u 1D- інтерполяції

Для 2Ю-інтерполяції служить функція іпіегр2, що реалізує наступніспособи


інтерполяції, аналогічні реалізації функцієюіпіегрі, а came: ‘linear’ — лінійна
інтерполяція, пеагезі" - інтерполяція по сусідніх елементах; 'сибіс'" - інтерполяція

кубічними сплайнами, ‘spline’ — інтерполяція кубічними сплайнами, 'makima' —

модифікована кубічна інтерполяція. При цьому спочатку потрібно задати проміжні


вузли (сітку) функцією тезНегій.
5

Багатовимірна | інтерполяція проводиться аналогічно двовимірній. | Для


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

3.2 Порядок виконання роботи


Виконати наступне завдання згідно з номером свого варіанту. На графіках
функцій виводити заголовки - відповідні рівняння.

1. Побудувати графік функції y=cosx—x? SINX Ta дослідити її на відрізку

7-44 | . Задати точність обчислень, рівну 107.

2. Побудувати лінії рівня функції f (х, у)- COS 7X+COS ty та визначити ii

локальний мінімум на відрізку / -0.5,1.5 | з точністю 1077.

| мч
Мо
_ 2
3. Побудувати графік підінтегральної функції й обчислити інтеграл [ = Ге “dx
0

різними методами з точністю 107". Порівняти результати, отримані з кроком 0.01, 0.001
та 0.0001.

4. Задані поліноми p)(x)=x° +8x* +31x? +80x° +.94x+ 2070


P2 (x) =x’ +3.2x° —5.2x* +0.5x° +x—3. Busnaautn ix корні й перевірити розв'язки.

Знайти добуток заданих поліномів. Записати, як виглядатиме результатуючий поліном.


5. Побудувати графік підінтегральної функції та визначити значення
LX
інтегралу І =| (le siny+e " соз уНхау з точністю 10". Визначити тривалість
0-я

обчислювальної процедури. Як прискорити обчислювальну процедуру? Порівняйте


тривалості початкової й прискореної процедур.

6. Функція задана у вигляді таблиці:

Xx -0.45 | -0.35 | -0.25 | -0.15 | -0.05 | 0.05 | 0.15 | 0.25 | 0.35 | 0.45
У -1.1 0.2 0.1 0.8 0.5 0.2 0.4 0.1 0.1 -0.6
Наблизити її поліномами 1-го, 2-го, 3-го й 4-го ступеня. Записати, як виглядатимуть

рівняння апроксимуючих поліномів. Вивести в одне вікно графіки, що зображують


характер наближень.
7. Функцію з завдання 6 інтерполювати різними способами. Вивести в одне вікно

графіки, що зображують способи інтерполяції.


6

8. Інтерполювати різними способами функцію

705 у) зіпОях)зіп(Злу)е " (У для х,ує 0,1). Графіки, що зображують способи


—_ 2 - 2 -

інтерполяції, вивести в різні підвікна. У заголовках графіків вивести спосіб інтерполяції.


9. Інтерполювати різними способами функцію

«(х, у) - Я віпдях-со8 1.5лу (1-х) : У (П- у) для хе


| -1,1), ує 10,1 |. Графіки, що
зображують способи інтерполяції, вивести в різні вікна. У заголовках вивести спосіб

інтерполяції. Позначити осі координат.

19. Написати функцію, що реалізує операцію суми двох поліномів різного

степеня. Перевірити правильність функції на прикладі поліномів /(х) я х'- х 2,


gly) =x+3.

11. Побудувати графік функції у «- со5 х - x’ sinx Ta дослідити її на відрізку

ГО,10 . Задати точність обчислень, рівну 10°.

12. Функцію, що проходить через точки (00), (1:05), (242), (341,5), інтерполювати
різними способами. Вивести в одне вікно графіки, що зображують способи інтерполяції,
заголовок та легенду.
13. Побудувати в різних підвікнах графік функції
f(x, y) =0.02 sin(x)sin(y)— 0. 03sin(2x)sin(y)+ 0.04 sin(x)sin(2y)+ 0.08 sin(2x)sin (2 y),
що описує зміщення вібруючої прямокутної пластинки із закріпленими краями, у
вигляді сітчастої поверхні й ліній рівня та визначити обидва її локальних

мінімуми для х, у є /0,я | з точністю 1077.


14. Функція проходить через точки (1;1.06), (2:1.12), (3:1.34), (541.78).

Наблизити її поліномами 1-го, 2-го та 3-го ступеня на відрізку [0,6]. AK


виглядатимуть рівняння апроксимуючих поліномів? Вивести в одне вікно графіки
(з різними специфікаціями для ліній), що зображують характер наближень,
заголовок та легенду.
15. Побудувати в різних підвікнах одного графічного вікна графік функції
2 - 5п?5іп(пх)зіп(пу) у вигляді сітчастої поверхні та ліній рівня та визначити
обидва її локальні мінімуми для х, у є / - 1,1 | з точністю 107".
7

16. Побудувати графік підінтегральної функції на відрізку [—7,2] Ta


І
обчислити інтеграл / (х) = п ре" sin(4x)dx різними методами з точністю 107.
0
Порівняти результати, отримані з кроком 0.01, 0.001 та 0.0001.
17. Побудувати в різних підвікнах одного графічного вікна графік функції

«(х, у) є 4 5іпЗях-со5 1.5лу І - xy -у (1- у) у вигляді сітчастої поверхні та ліній


рівня і визначити її локальний мінімум для х є / - 1,1, ує 0,11, з точністю 10°.

18. Побудувати в різних підвікнах одного графічного вікна графік функції


. . шу? - 2 . . - . гу . .
7 (x, y)= зіпОЗях)зіп(Злу)е У у вигляді сітчастої поверхні та ліній рівня і

визначити всі її локальні мінімуми на площині х, у є / 0,1 | з точністю 107,

19. Побудувати лінії рівня функції 2з-со5Лх -ксо5лу-та визначити ЇЇ

локальний мінімум з точністю 107.


ги : tee . . ху?
20. Побудувати лінії рівня функції / (x, y)= зіп(Зях)зіп(Злу)е для

х, у Є 0,1 | та визначити всі її локальні мінімуми з точністю 107.

21. Побудувати в різних підвікнах одного графічного вікна графік функції


_ . 2 2 . . Loe
z(x, y) =4 sin2mx- cos 1.5zy- ( - х) «у: (1 - у) у вигляді сітчастої поверхні та ліній

рівня та визначити всі її локальні мінімуми на площині хє/-11/, ує/ 0,1) з

точністю 107.

3.3 Контрольні питання


1. Які особливості реалізації в Майаб дослідження функцій та чисельного
інтегрування?
2. Як задається B MatLab поліном? До чого зводяться операції множення й

ділення поліномів? Як в математиці називають ці операції?

3. Які особливості реалізації в Маїї аб фігур обертання? Де застосовується дане


перетворення?
4. Які методи інтерполяції даних існують в Май аб? Вкажіть їх особливості.

You might also like