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

Кравчук(mathcad) / 2 семестр / MathCAD. Лабораторний практикум. 2010

.pdf
Скачиваний:
274
Добавлен:
29.02.2016
Размер:
11.67 Mб
Скачать

Якщо поліном із дійсними коефіцієнтами має комплексний корінь, то він обов'язково має також корінь, спряжений до нього.

Індивідуальні завдання для виконання лабораторної роботи

Студент виконує власний варіант, який такий самий як у 1 семестрі, тобто дорівнює номеру студента в списку групи за 1 семестр.

Завдання 1. Знайти корені нелінійного рівняння

f(x) = y(x) – y0 = 0

за допомогою функції root(f(x0), x0), тобто обчислити обернену функцію x0 = y-1(y0).

Вираз для y(x) узяти з лабораторної роботи №3.

Значення y0 вибрати довільно з області визначення функції y(x).

Завдання 2. Знайти корінь рівняння y(z0) = y0 за допомогою функцій find(z0) та minerr(z0).

Завдання 3. Знайти корені системи нелінійних рівнянь f1(u0) = v0

f1(u0) = v0

за допомогою функцій find(u0, v0) та minerr(u0, v0).

Функції f1(u) та f2(u) узяти з лабораторної роботи №2.

Завдання 4. Знайти корені полінома четвертого степеня

P4(w, d) = d4 w4 + d3 w3 + d2 w2 d1 w + d0

Уведення вектора дійсних коефіцієнтів d полінома виконати у вигляді програми-функції за допомогою генератора випадкових чисел rnd(1) на проміжку [-40, 40].

Зразок виконання лабораторної роботи

Умова. Відповідає завданням, наведенимвище, але для варіанту №0 (зразок).

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

1.Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем

LR10_Прізвище.xmcd.

2.Відредагуйте першу текстову область: а) змініть номер лабораторної роботи з №1 на №10; б) замініть речення "Лінійний алгоритм" на " Нелінійні рівняння та системи". Іншу частину робочого листка можна очистити.

3.Лістинг виконання завдань зразка лабораторної роботи з MathCAD №10 наведений на рис. 2.39.1 - 2.39.3

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

140

Рис. 2.39.1. Лістинг виконання зразка ЛР з MathCAD №10

141

Рис. 2.39.2. Продовження лістингу виконання зразка ЛР з MathCAD №10

142

Рис. 2.39.3. Закінчення лістингу виконання зразка ЛР з MathCAD №10

143

5.Оформіть звіт про виконання лабораторної роботи за наступними пунктами: Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанта, Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови

MathCAD.

6.Захистіть роботу у викладача, давши відповіді на контрольні запитання.

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

1.Яке рівняння називається лінійним?

2.Що таке поліном?

3.Назвіть два види нелінійних рівнянь.

4.Яке рівняння називається алгебраїчним нелінійним рівнянням (АНР)?

5.Коли нелінійне рівняння називається трансцендентним (ТНР)?

6.Яке значення називається коренем нелінійного рівняння?

7.Назвіть етапи обчислення коренів нелінійного рівняння.

8.Для чого призначена вбудована функція root(f(var), var [, a, b])?

9.Що зберігає вбудована константа TOL?

10.В які способи можна змінити значення TOL?

11.Опишіть алгоритм розв'язання СНР на прикладі системи із двох рівнянь.

12.Що таке Given і для чого воно призначене?

13.Що таке блок розв'язання СНР?

14.В якій формі записуються рівняння в блоці розв'язання СНР?

15.Для чого призначені вбудовані функції find(xo, y0) та minerr(xo, y0)?

16.За яких причин може бути відсутній розв'язок СНР?

17.Як обчислюються корені алгебраїчного нелінійного рівняння?

18.Що є аргументом вбудованої функції polyroots(a)?

19.Що таке комплексно спряжені корені АНР?

144

Лабораторна робота №11. Системи лінійних алгебраїчних рівнянь (СЛАР).

Виконання завдання "Розв'язання систем лінійних алгебраїчних рівнянь"

Мета:

набути навиківрозв'язаннясистемлінійних алгебраїчних рівнянь (СЛАР);

засвоїти матричний метод та метод Гауса;

виконати індивідуальне завдання "Розв'язання систем лінійних алгебраїчних рівнянь".

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

Розв'язання систем лінійних алгебраїчних рівнянь

Методи розв'язання СЛАР розділяють на дві групи.

До першої групи належать точні або прямі методи, якими отримають розв'язок системи за скінчене число арифметичних дій: метод Крамера із застосуванням визначників, матричний метод із застосуванням оберненої матриці, метод прогонки, метод Гауса. Ці методи застосовують для систем відносно невеликої розмірності (до 1000).

До другої групи належать наближені ітераційні методи: метод послідовних наближень, метод Зайделя. Ці методи застосовують для систем великої розмірності (більше 1000).

Матричний метод розв'язання СЛАР

СЛАР з n невідомими в звичайному вигляді записується так:

a11x1 a12 x2 ... a1n xn b1

a

21

x

a

22

x

... a

2n

x

n

b

2 .

 

1

 

 

2

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

a

n1

x

a

n2

x

2

... a

nn

x

n

b

n

 

1

 

 

 

 

 

 

 

У матричній формі СЛАР має вигляд:

A x = b , де

a11a12

...a1n

 

Матриця

a

21

a

22

...a

2n

 

системи з

A

 

 

 

коефіцієнтів

 

 

 

...

 

 

 

при

 

 

a

 

...a

 

a

n1

n2

 

невідомих

 

 

 

nn

 

x1

x

x 2...

xn

 

 

 

Вектор-

 

стовпець

невідомих

(2.2)

 

 

(2.3)

 

 

Вектор-

b1

 

b b2

 

стовпець

...

 

вільних

bn

членів

Якщо матриця системи А несингулярна, тобто її визначник не дорівнює нулю |A| 0, то з рівняння (2.3), коли його умножити на A-1, маємо:

A-1∙A∙x = A-1∙b => E∙x = A-1∙b => x = A-1∙b ,

(2.4)

де A-1 - обернена матриця до матриці A, яка задовольняє співвідношенню

A∙A-1 = A-1∙A = E, 145

де Е - одинична матриця, у який елементи головної діагоналі дорівнюють 1, а всі інші елементи дорівнюють 0:

1

0 ...

0

 

 

 

 

 

 

0

1 ...

0

 

E

 

...

 

 

 

 

 

 

 

0

0 ...

1

 

 

 

 

 

 

 

 

Одинична матриця є аналогом скалярної одиниці (x 1 = 1 x = x), тобто

A∙E = E∙A = A.

Деякі формули матричної алгебри

Символьний процесор MathCAD дозволяє дуже легко проводити символьні обчислення. Для цього призначена панель інструментів Symbolic Keyword Toolbar (Ключові слова символьних обчислень), яку можна відкрити

кнопкою Symbolic Keyword Toolbar Button на панелі Math (Математика).

Тут ми знайомимося із кнопками: Symbolic Evaluation Button

(Кнопка символьних обчислень), Symbolic Keyword Evaluation

Button (Кнопка символьних обчислень із ключовим словом),

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

Метод Гауса - Жордана розв’язання СЛАР

Метод Гауса - Жордана поєднує прямий та зворотний хід методу Гауса, оскільки на кожному кроці поточне невідоме виключається не тільки з подальших рівнянь, але й із попередніх. Саме тому цей метод також називається методом повного виключення невідомих.

Алгоритм методу Гауса - Жордана

1.Перевіряється кнопкою Determinant (Визначник) на панелі інструментів Matrix (Матриці), що визначник матриці системи A не дорівнює нулю |A| ≠ 0, тоді матриця A несингулярна (невироджена) і розв'язок СЛАР існує.

2.Створюється розширена матриця СЛАР Ab приєднанням до матриці A вектора вільних коефіцієнтів b бік у бік: Ab := augment(A, b).

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

146

Рис. 2.40. Лістинг деяких формул матричної алгебри

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

5.Від кожного рядка матриці, крім першого, віднімається перший рядок, помножений на перший елемент вибраного рядка, так що в результаті кожний наступний рядок матриці буде починатися з нуля.

6.Обирається другий рядок розширеної матриці й, якщо другий елемент цього рядка дорівнює нулю, то другий рядок обмінюється місцями з найближчим знизу рядком, у якому другий елемент не дорівнює нулю.

7.Кожний елемент другого рядка, крім першого нульового, діліться на другий елемент цього рядка, так що на другому місці в цьому рядку буде одиниця.

8.Від кожного рядка матриці, крім другого, віднімається другий рядок, помножений на другий елемент вибраного рядка, так що в результаті кожний попередній і наступний рядок матриці будуть мати на другому місці нуль.

147

9.Аналогічні операції проводяться зі всіма наступними рядками матриці, крім останнього.

10.Оскільки розв'язок СЛАР існує, то в кінці останнього рядка обов’язково залишиться ненульовий елемент, на який цей рядок і ділимо.

11.У результаті частина розширеної матриці, яка відповідає матриці системи, перетвориться на одиничну матрицю, а значить останній стовпчик розширеної матриці буде містити вектор розв'язків:

1

0

...

0

x1

 

 

0

1

...

0

x2

 

 

 

...

...

...

...

...

 

0

0

...

1

 

 

 

xn

Така форма матриці називається ешелоном скорочених рядків. Саме до цього вигляду приводить розширену матрицю системи вбудована функція MathCAD rref(Ab), ім'я якої походить від перших букв англійської назви даної форми матриці: row-reduced echelon form (форма ешелону скорочених рядків).

Для виведення в робочий листок вектора розв'язків залишається тільки виділити останній стовпчик із цієї матриці:

x = rref(Ab)<n +1>

На рис. 2.41 та 2.42, в якості прикладу, наведений лістинг двох програмфункцій, що реалізують метод Гауса-Жордана. Перша функція ExchangeRows(Ab, i) у розширеній матриці Ab обмінює i-ий рядок, у якому діагональний елемент Abii дорівнює нулю з найближчим унизу рядком, у якому в i-му стовпчику знаходиться ненульовий елемент. Друга функція rrefm(Ab) власно й реалізує метод Гауса-Жордана. Ім'я цієї функції в кінці має літеру "m" для того, щоб воно відрізнялося від імені вбудованої функції rref(A).

Рис. 2.41. Лістинг ПФ ExchangeRows(Ab, i),

яка переміщує нулі з головної діагоналі

148

Рис. 2.42. Лістинг ПФ rrefm(Ab), яка реалізує метод Гауса-Жордана

Зразок виконання лабораторної роботи

Завдання 1. Знайти розв'язок системи лінійних алгебраїчних рівнянь матричним методом. Матрицю системи А узяти з індивідуальних завдань, наведених нижче на с. 152-154, відповідно до власного варіанта, який такий самий як у 1 семестрі, тобто дорівнює номеру студента в списку групи за 1 семестр. Вектор вільних коефіцієнтів b сформувати з діагональних елементів матриці А.

Завдання 2. Знайти розв'язок системи лінійних алгебраїчних рівнянь із попереднього завдання за допомогою метода Гауса - Жордана.

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

1.Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем

LR11_Прізвище.xmcd.

2.Відредагуйте першу текстову область: а) змініть номер лабораторної роботи з №1 на №11; б) замініть речення "Лінійний алгоритм" на "Системи лінійних алгебраїчних рівнянь (СЛАР)". Іншу частину робочого листка можна очистити.

3.Лістинг виконання завдань зразка лабораторної роботи з MathCAD №11 наведений на рис. 2.43.1 - 2.43.2.

149