- •Міністерство освіти і науки України
- •Практична робота №1 Вивчення будови пеом
- •Теоретичні питання
- •Практична робота №2 Вивчення будови процесора і організації пам’яті
- •Теоретичні питання
- •Практична робота №3 Дослідження логічних елементів
- •Теоретичні питання
- •Практична робота №4 Основи роботи з matlab
- •Теоретичні питання
- •Завдання до практичної роботи:
- •Практична робота №5 Написання програм з використанням умовних операторів
- •Теоретичні питання
- •Практична робота №6 Написання програм з використанням циклічних операторів
- •Теоретичні питання
- •Практична робота №7 Побудова графіків функцій
- •Теоретичні питання
- •Завдання до практичної роботи:
- •Практична робота №8 Рішення алгебраїчних і трансцендентних рівнянь в середовищі matlab
- •Теоретичні питання
- •Варіанти алгебраїчних та трансцендентних рівнянь
- •Практична робота №9 Рішення систем рівнянь в середовищі matlab
- •Теоретичні питання
- •Варіанти систем алгебраїчних рівнянь
- •Практична робота №10 Загальні відомості про програмний комплекс simulink. Побудова простих моделей
- •Теоретичні питання
- •Варіанти завдань
- •Порядок роботи над завданнями:
- •Практична робота №11 Моделі алгебраїчних об'єктів. Форматування об’єктів моделей
- •Теоретичні питання
- •Варіанти завдань.
- •Практична робота №12 Маскування підсистем в Matlab/Simulink
- •Теоретичні питання
- •Варіанти завдань.
- •Список літератури
- •Для нотаток навчально-методичне видання
- •Тир.__ прим. Зам.______
- •43018, М. Луцьк, вул. Львівська, 75
Варіанти алгебраїчних та трансцендентних рівнянь
Таблиця 8.1 – алгебраїчні рівняння для рішення аналітичними методами
|
№ п/п |
Рівняння |
№ п/п |
Рівняння |
|
1 |
x3-a=0 |
10 |
e-2x-2a=0 |
|
2 |
x5+(b-a)x4-abx3+ax2+ax(b-a)-a2b=0 |
11 |
sin ax+cos ax=0 |
|
3 |
x5+bx4-a4x-a4b=0 |
12 |
sin ax+tg ax=0 |
|
4 |
x4+2x3(1+a)+x2(4a-1)-2x(1+a)-4a=0 |
13 |
e-ax+eax=0 |
|
5 |
x5-3x4+(a-b3)x3+3(b3-a)x2-ab3x+3ab3=0 |
14 |
e-ax+eax-1=0 |
|
6 |
x5-ax3+2x2-2a=0 |
15 |
e-ax+eax-ln a=0 |
|
7 |
x7+ax5-x2-a=0 |
16 |
ae-x+bex=0 |
|
8 |
2x-2(a+b)=0 |
17 |
a sin x+b cos x=0 |
|
9 |
ln sin x-2a=0 |
|
|
Таблиця 8.2 – алгебраїчні і трансцендентні рівняння для рішення чисельними методами
|
№ п/п |
Рівняння | |
|
алгебраїчні |
трансцендентні | |
|
1 |
x4-4x3-10x2+3x-4=0 |
2sin ln|x|=0 |
|
2 |
x5-5x2+4.5=0 |
arctg tg x=0 |
|
3 |
x5-x+0.2=0 |
4e-1/|x|-2 |
|
4 |
x3-0.2x2+0.5x+1.5=0 |
sin sin x |
|
5 |
x10-1=0 |
2x-4x=0 |
|
6 |
x8+2x-1.5=0 |
x!+2x-2=0 |
|
7 |
x4-2x2+8x+1=0 |
ln x+(x+1)3=0 |
|
8 |
x3+4x2-5x-2=0 |
arctg (x-2)+x=0 |
|
9 |
6x8-2x2+3=0 |
x2+4sin x-2=0 |
|
10 |
3.5x5-2.8x3+7.5x-2.5=0 |
x-ln (7-4x) |
|
11 |
х5+х4+х3+х2+х+1=0 |
e-2x+3/x-1=0 |
|
12 |
1.5х5+17х-21=0 |
e-6x+3x2-18=0 |
|
13 |
2x4-3.5x2+3=0 |
ln (4-2x)+x2-2=0 |
|
14 |
17x9-15x7+13x4+11x3+9x=0 |
3x-9x+1=0 |
|
15 |
x4+2x3-1=0 |
2x+ln 2x-5.6=0 |
|
16 |
x10-1=0 |
x+lg x-0.5=0 |
|
17 |
x7+6x6+x5-4x4+x3-2x2+x-1=0 |
2x!-e-x+5=0 |
Практична робота №9 Рішення систем рівнянь в середовищі matlab
Мета: Вивчення методів рішення систем рівнянь
Теоретичні питання
Розглянемо наступні способи рішення систем лінійних алгебраїчних рівнянь засобами MATLAB:
спосіб обчислення визначників матриці коефіцієнтів системи рівнянь;
матричний спосіб;
за допомогою функції solve ();
за допомогою вбудованої функції nnls ().
Рішення системи лінійних рівнянь за допомогою визначників.
Нехай D – головний визначник матриці коефіцієнтів системи рівнянь, dk – частинний визначник, сформований заміною коефіцієнтів при до k-му невідомому системи рівнянь на коефіцієнти правих частин рівнянь (вільних членів). Тоді невідоме хк обчислюється по виразу:
![]()
Необхідно вирішити наступну систему лінійних рівнянь:

Методом визначників рішення системи матиме вигляд:

Тепер представимо визначники у вигляді матриць:

Тоді програма обчислення невідомих матиме вигляд:

Недолік методу визначників полягає в тому, що він вимагає утворення числа матриць на одне більше, ніж число невідомих.
Матричний метод рішення систем лінійних рівнянь.
Нехай А - матриця коефіцієнтів системи рівнянь, В – вектор вільних членів, X – вектор невідомих. Тоді невідомі визначаються:

Для попередньої системи рівнянь:


MATLAB дозволяє вирішувати системи лінійних рівнянь в аналітичному вигляді, коли коефіцієнти рівнянь є символьними змінними. Для цього необхідно визначити символьні змінні за допомогою вбудованої функції syms x, де х— перелік символьних змінних, які відділяються пробілами.
Необхідно розв’язати наступну систему рівнянь:

Рішення:

Програма дозволяє вирішувати рівняння у разі, коли коефіцієнти є числами комплексними.
Рішення систем лінійних рівнянь за допомогою функції solve().
Функція solve () у разі рішення систем рівнянь має вигляд:
![]()
де: ' fi' – i-те рівняння системи, і=1,2..., n;
хі — і-тe невідоме і = 1,2 ..., n.
Кожне рівняння системи береться в одинарні лапки і відділяється від попереднього комою. Перед функцією solve () необхідно за допомогою функції syms описати символьні змінні.
Рішення системи рівнянь:

Програма рішення системи рівнянь має вигляд:
![]()
Після натиснення клавіші <Enter> отримаємо відповідь в наступному вигляді:

Програма задачу вирішила, але не видала значення невідомих х, у, z. Для їх отримання необхідно скористатися командою Y.k, де k – ім'я невідомої. В нашому випадку рішення буде мати вигляд:

Можна також використовувати функцію vpa (Y.k, n)
де k – шукане невідоме;
n – число знаків відповіді.
Отримаємо вирішення з числом знаків n=5:

Рішення систем нелінійних рівнянь.
Рішення систем нелінійних рівнянь в MATLAB здійснюється функцією fsolve (), яка має вигляд:
![]()
де file – система рівнянь, збережена в m-файлі.
Нехай необхідно вирішити наступну систему нелінійних рівнянь:

Представимо систему рівнянь у вигляді функції користувача з ім'ям myfun і збережемо її у файлі myfun.m.
Вміст файлу має вигляд:

Програма і результати рішення мають вигляд:
![]()

MATLAB має велике число функцій вирішення спеціальних рівнянь. У них реалізовані ітераційні методи рішення рівнянь і метод найменших квадратів. Деякі з цих функцій дозволяють вирішувати також звичайні системи лінійних рівнянь.
Такими функціями є: bicq(), cqs(), qmres(), qmr().
Функція bicq() має вигляд:
![]()
де А – матриця коефіцієнтів системи рівнянь;
B – вектор вільних членів.
Функція обчислює невідомі методом ітерацій.
За початкові наближення за умовчанням приймає нульовий вектор довжиною n, де n – число невідомих.
Кількість ітерацій визначається або по максимальному їх числу (20 по замовчанню), або по досягненню відносної похибки (за замовчанням 10-6).
Функція має декілька модифікацій.
bicq(A, B, tol) — видає рішення з погрішністю tol;
bicq(A, B, tol, maxit) — видає рішення з погрішністю tol при заданому числі ітерацій.
Функція cqs().
Функція cqs () представляється в наступному вигляді:
cqs (А, В)
cqs (A, B, tol)
cqs(A, B, tol, maxit)
Цією функцією реалізується так званий квадратичний метод спряжених аргументів. Ітераційний процес починається з нульової ітерації (нульовий вектор початкових значень).
Число ітерацій визначається по одній з наступних ознак:
число ітерацій задається користувачем;
збіжність ітераційного процесу;
погрішність результату.
Функції qmres() і qmr() вирішують систему лінійних рівнянь методом ітерацій, використовуючи відповідно метод мінімізації узагальненої нев'язності і метод квазімінімізації нев'язності. Вони мають ті ж модифікації, що і функція bicq(). Технологія рішення рівнянь не відрізняється від розглянутих вище.
