Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПР_КТіООР.doc
Скачиваний:
38
Добавлен:
11.05.2015
Размер:
9.89 Mб
Скачать

Варіанти алгебраїчних та трансцендентних рівнянь

Таблиця 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

х5432+х+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(). Технологія рішення рівнянь не відрізняється від розглянутих вище.