Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

метод-amo

.pdf
Скачиваний:
3
Добавлен:
07.02.2016
Размер:
985.47 Кб
Скачать

11

x : 0 a : root ( x3 10 x 2, x) x : 2 a : root ( x3 10 x 2, x)

5. Розв‟яжіть рівняння й систему рівнянь за допомогою програми

Given

а) рівняння x 2 10 e x

x : 2

Given

x 2 10 e x

a : Find ( x ) a

тотожно рівне набирається за допомогою клавіш [Ctrl]= б) систему рівнянь

x : 1

y : 1

 

 

Given

 

 

 

x 2 y 2 6

 

 

x y 2

 

 

x 1

 

 

 

y 2

 

 

 

 

x 1

: Find ( x , y )

x 1

y 1

 

 

 

 

 

 

 

 

y 1

 

 

 

1.3 Зміст звіту

Письмовий звіт повинен містити:

а) тему, формулювання мети й задач досліджень;

б) завдання лабораторної роботи, виконане в MathCad; в) відповіді на контрольні запитання; г) висновки за результатами досліджень.

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

12

колонтитул), тема лабораторної роботи та номер сторінки (нижній колонтитул).

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

1.Як в пакеті MathCad скорегувати невірно задане ім'я або значення змінної?

2.Які дії треба виконати, щоб ввести матрицю 5 5?

3.Як задати змінні, що приймають дискретні значення з проміжку, й обчислити функції від дискретного аргументу?

4.Як написати коментарі до програми в MathCad?

5.Як побудувати графік? Які параметри можливо задавати при побудові графіка?

6.Що таке LU-розклад матриці? Як його зробити за допомогою

MathCad?

7.Дайте визначення власних чисел матриці. Як їх обчислити за допомогою MathCad?

8.Поясніть, як розв'язувати рівняння в пакеті MathCad. Чим відрізняються програми root та Given ?

9.Як задати арифметичний вираз в МathCad?

13

2 ЛАБОРАТОРНА РОБОТА № 2 ВИВЧЕННЯ МЕТОДІВ ІНТЕРПОЛЯЦІЇ ТА АПРОКСИМАЦІЇ ФУНКЦІЙ

Мета роботи: вивчити типові чисельні методи інтерполяції та апроксимації різноманітних функцій, заданих таблично або графічно.

2.1 Теоретичні відомості

Нехай на відрізку [a, b] задано (n+1) вузлових точок, причому a<=x0<x1< … <xn<=b, і значення yi = f(xi). Процес обчислення значень функції всередині відрізка [a,b] у точках, що відрізняються від вузлових, зветься інтерполяцією. Процес обчислення значень функції за межами відрізку інтерполяції [a, b] зветься екстраполяцією.

Багаточлен Fn(x), що проходить через всі задані точки (тобто

Fn(x0)=y0, Fn(x1)=y1, … , Fn(xn)=yn) зветься глобальним інтерполяційним багаточленом. Для глобальної інтерполяції використовують інтерполяційні багаточлени Лагранжа і Ньютона.

Інтерполяційні багаточлени можуть будуватися окремо для різних частин розглядуваного відрізка зміни х. В цьому випадку маємо кускову (або локальну інтерполяцію: кусково-лінійну,

квадратичну, сплайн-інтерполяцію).

Задача апроксимації – побудова наближеної (апроксимуючої) функції, яка в цілому найбільш близько проходить біля заданих точок або біля безперервної функції. Така задача з'являється при наявності похибок в даних або при заміні складної і невідомої залежності більш простою математичною функцією.

Нехай залежність f(x) задана графічно.

Для апроксимації використовують різноманітні методи.

Найбільш поширеними є метод обраних точок, метод середніх точок, метод найменших квадратів.

Нехай криву можна апроксимувати за допомогою функції

y=ax2 + bx + c.

Коефіцієнти для цієї функції можна обчислити:

а) за допомогою методу обраних точок, розв‟язавши систему рівнянь, де a, b, c – невідомі :

14

y

1

ax

2

bx

1

c

 

1

 

 

 

ax22 bx2 c

y

2

 

 

ax

2

bx3 c

y3

3

б) за допомогою методу середніх точок, розв‟язавши систему рівнянь, де a, b, c – невідомі, l, k-l, n-k – число точок у обраній групі усіх значень yi, xi :

 

l

l

 

 

yi

axi2 bxi

c

i 1

i 1

 

 

 

k

k

 

 

 

yi

axi2 bxi

 

c

i l 1

i l 1

 

 

 

n

n

 

 

 

yi

axi2 bxi

c

i k 1

i k 1

 

 

в) за допомогою методу найменших квадратів, розв‟язавши систему рівнянь, де a, b, c – невідомі :

n

 

n

n

n

xi2 yi

a xi4 b xi3 c xi2

i 1

 

i 1

i 1

i 1

n

 

n

n

n

xi yi

a xi3 b xi2 c xi

i 1

 

i 1

i 1

i 1

n

 

n

n

 

yi

a xi2 b xi

c n

i 1

 

i 1

i 1

 

Якщо криву можна апроксимувати за допомогою функції

y=ax3 + bx2 + cx +d,

15

то коефіцієнти для цієї функції обчислюємо за допомогою методу найменших квадратів, розв‟язавши систему рівнянь:

 

n

 

 

n

 

 

n

 

n

 

n

xi3 yi

a xi6 b xi5 c xi4 d

xi3

i 1

 

 

i 1

 

 

i 1

 

i 1

 

i 1

 

n

 

 

n

 

 

n

 

n

 

n

xi2 yi

a xi5 b xi4 c xi3 d

xi2

i 1

 

 

i 1

 

 

i 1

 

i 1

 

i 1

 

n

 

 

n

 

 

n

 

n

 

n

 

xi yi

a xi

b xi

c xi d xi

 

 

 

 

4

 

 

3

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

i 1

 

 

i 1

 

i 1

 

i 1

 

n

 

n

3

 

n

2

 

n

d n

 

yi

a xi

b xi

c xi

 

i 1

 

i 1

 

 

i 1

 

 

i 1

 

 

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

1.Графік задає викладач. Введіть у вигляді вектора для

заданого графіка значення xi, yi=f(xi), i= 1,2, …, n. Число n обрати не меншим за 15. Для того щоб нумерація в векторах починалась з 1 потрібно спочатку написати функцію ORIGIN:=1.

2.Апроксимувати функцію y=f(x) обчислюваною функцією z(х) = ax2 + bx + c. Коефіцієнти для цієї функції обчислити за допомогою методу найменших квадратів. Систему рівнянь, де a, b, c

невідомі, розв‟язати за допомогою функції GIVEN.

3.Обчислити похибку (абсолютну та відносну) у заданих точках. Визначити, у якій точці вона найбільша.

4.Апроксимувати функцію y=f(x) обчислюваною функцією g(x) = ax3 + bx2 + cx + d. Коефіцієнти для цієї функції обчислити за допомогою методу найменших квадратів. Систему рівнянь, де a, b, c, d

невідомі, розв‟язати за допомогою функції GIVEN.

5.Знов обчислити похибку (абсолютну та відносну) у заданих точках. Визначити, у якій точці вона найбільша.

6.Побудувати графіки залежностей y=f(x), y=z(x), y=g(x). Зробити висновки.

2.3Зміст звіту

Письмовий звіт повинен містити:

а) тему, формулювання мети й задач досліджень;

16

б) заданий графік;

в) завдання лабораторної роботи, виконане в MathCad; г) відповіді на контрольні запитання; д) висновки за результатами досліджень.

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

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

1.Що таке інтерполяція?

2.Що таке екстраполяція?

3.Що таке апроксимація?

4.Що таке рівномірна та середньоквадратична апроксимація?

5.Що таке локальна та глобальна інтерполяція?

6.Які методи інтерполяції Ви знаєте?

7.Наведіть формули інтерполяційних багаточленів Лагранжа та Ньютона.

8.Які методи апроксимації, крім наведених, ви знаєте?

7.Якими функціями можна апроксимувати задані криві?

17

3 ЛАБОРАТОРНА РОБОТА 3 РОЗВ’ЯЗАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ

РІВНЯНЬ

Мета роботи: вивчення основних методів чисельного розв‟язку систем лінійних алгебраїчних рівнянь, а також засобів обчислень визначників та власних чисел.

3.1 Теоретичні відомості

Система лінійних алгебраїчних рівнянь (СЛАР) може бути представлена у матричному вигляді АХ=В, де А - матриця коефіцієнтів, Х - вектор невідомих, В - вектор вільних членів.

Розв‟язок СЛАР можна одержати за допомогою точних методів, таких як метод Гауса, LU-перетворення, формул Крамера, зворотної матриці або ітераційними методами, такими як методи простої ітерації або Гауса-Зейделя.

Метод Гауса базується на принципі послідовного виключення невідомих. При цьому матриця А спочатку приводиться до трикутного вигляду, а потім одержана трикутна система розв‟язується.

При аналізі електронних схем найчастіше застосовується метод LU-перетворення, який базується на розкладанні матриці А на дві трикутні (L – нижньотрикутну і U – верхньотрикутну) матриці і подальшому розв‟язкові систем LZ=B і UX=Z.

Формули Крамера практично не застосовуються через великий об‟єм обчислень.

Розв‟язок СЛАР за допомогою зворотної матриці також програє першим двом методам за об‟ємом обчислень, але інколи

застосовується у теоретичних статтях через

наочність запису

розв‟язку.

 

 

 

У методі простих ітерацій (ітераційний метод Гауса) СЛАР

 

X=[ ]X+

 

, а потім

АХ=В спочатку приводиться до явного вигляду

 

обчислюються значення невідомих за наступною ітераційною формулою:

X(k) = + [ ] X(k-1) ,

18

де [ ], - перетворені матриця А і вектор В, k = 1,2,…,n – номер ітерації,

X ( 0 ) = - початкове наближення.

Метод Гауса-Зейделя є деяка модифікація методу простих

ітерацій, коли при обчисленні k-го наближення Xi(k) враховуються раніше знайдені наближення X1(k) , X2(k) , Xi-1(k)

 

1

i 1

 

n

 

 

 

xik

(bi aij xkj

aij xkj

1 )

 

 

aii

 

 

 

j 1

 

j i 1

 

 

 

Власні

числа

матриці

знаходяться

як

корені

характеристичного багаточлена

де - власні числа, Е - одинична матриця.

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

Варіант визначається за номером залікової книжки (дві останні цифри, або (дві останні цифри-50)). Варіанти приведено у додатку А.

За допомогою Mathcad (для того щоб нумерація в матрицях починалась з 1 потрібно спочатку написати функцію ORIGIN:=1).

1.Отримати зворотну матрицю А-1.

2.Одержати розв‟язок Х= А-1 В.

3.Обчислити значення визначника ∆ = |А|.

4.Розкласти матрицю А на нижньо-(L) і верхньо-(U) трикутні

матриці.

Щоб знайти LU-розклад матриці А, треба використовувати

19

функцію 1и(А). Функція 1и(А) повертає матрицю, що містить три квадратні матриці Р, L і U, пов‟язані співвідношеням PA = LU, де L - нижня трикутна матриця, U - верхня трикутна матриця, Р - матриця перестановки рядків і стовпчиків матриці А. Таким чином, матриці L та U є розкладом матриці В = РА. Для виділення матриць Р, L і U можна використовувати функцію submatrix. Функція submatrix залежить від 5 аргументів: 1 – ім‟я матриці; 2,3 - діапазон рядків; 4,5 - діапазон стовпчиків.

Приклад. Нехай А - квадратна матриця розміру 3. Тоді матриця С=1и(А) має 3 рядки і 9 стовпчиків. Перші три стовпчики формують матрицю Р, інші три стовпчикі формують матрицю L, останні три стовпчики формують матрицю U. Для вилучення матриць P,L і U використовуємо функцію submatrix:

P:=submatrix(C,1,3,1,3)

L:=submatrix(C,1,3,4,6)

U:=submatrix(C,1,3,7,9)

5. Розв‟язати системи рівнянь LZ=В, UХ=Z. Знайти визначник

як

n

det A Uii

i 1

порівняти з результатами п.3.

6.Розв‟язати СЛАР за допомогою функції Find.

7.Розв‟язати СЛАР за допомогою формул Крамера:

8. Знайти власні числа.

Для обчислення власних чисел матриці А можна використовувати функцію eigenvals. Функція eigenvals(A) повертає вектор, що містить власні значення матриці А. Для одержання власних

векторів

можна використовувати функції

eigenvec і eigenvecs.

Функція

eigenvecs (A, ) повертає нормований власний вектор

20

матриці A, що відповідає власному числу . Функція eigenvecs(A) повертає нормовані власні вектори матриці А, що відповідають власним числам, поверненим eigenvals.

Приклад. Нехай

3 4 A 2 1

Функція eigenvals(A) повертає вектор власних значень матриці А: (5, -1). Функція eigenvecs(A) повертає відповідні їм власні вектори.

При цьому власному числу 1=5 відповідає власний вектор (0.894, 0.447), власному числу 2=-1 відповідає власний вектор (-0.707, 0.707).

 

0.894

0.707

 

 

 

 

 

0.447 0.707

9.Визначити виконання умов збігу ітераційного процесу, при необхідності перетворити матрицю А і розв‟язати систему рівнянь

методом простої ітерації:

 

1

 

 

n

 

 

xik

 

(bi

aij xkj 1 ) ,

 

 

 

 

 

 

aii

j 1, j i

 

 

де k = 0,1,2,…,

i = 1,2,3,…,n.

 

Похибку прийняти рівною 0,001.

 

10. Розв‟язати цю ж систему рівнянь методом Гауса-Зейделя:

 

 

1

 

i 1

n

 

xik

(bi aij xkj aij xkj

1 ) ,

 

 

 

aii

j 1

j i 1

 

де k = 0,1,2,…,

i = 1,2,3,…,n.

 

Похибку прийняти рівною 0,001.

11.Порівняти результати розв‟язку СЛАР одержані всіма

методами.

12.Зробити висновки.