- •Методичні вказівки
- •6.050801 Мікро- та наноелектроніки
- •Методичні вказівки
- •6.050801 Мікро- та наноелектроніки
- •Лабораторна робота №1 розв’язання алгебраїчних рівнянь
- •Короткі теоретичні відомості
- •Робоче завдання
- •Варіанти завдань
- •Задачі до табл. 1.1.
- •Задачі до табл. 1.2
- •Лабораторна робота №2 інтегрування функцій
- •Короткі теоретичні відомості
- •Робоче завдання
- •Лабораторна робота №3 розв’язання звичайних диференціальних рівнянь
- •Короткі теоретичні відомості
- •Робоче завдання
- •Задачі для нелінійного рівняння
- •Задачі для системи нелінійних рівнянь
- •Лабораторна робота №4 оптимізація функцій
- •Короткі теоретичні відомості
- •Робоче завдання
- •Лабораторна робота №5 наближення функцій
- •Короткі теоретичні відомості
- •Лабораторна робота №6 математичне моделювання і розрахунок стартових умов у лампі зворотної хвилі
- •Короткі теоретичні відомості
- •6.1. Принципова схема лампи зворотної хвилі
- •6.2. Математична модель фізичних процесів у лампі зворотної хвилі типу – о
- •6.3. Методика постановки і рішення задачі на еом
- •Висновки. Лабораторна робота №7 моделювання нелінійних електронно-хвильових процесів у підсилювальному клістроні
- •Короткі теоретичні відомості
- •7.1. Математична модель фізичних процесів у групувачі
- •7.2. Метод «великих часток»
- •7.3. Методика постановки і розв’язання задачі на еом
- •Висновки. Лабораторна робота №8 оптимізація коефіціента корисної дії в лампі хвилі, що біжить
- •Короткі теоретичні відомості
- •8.1. Математична модель фізичних процесів у лбх
- •8.2. Методика постановки і розв’язання задачі на еом
- •Висновки. Література
Лабораторна робота №1 розв’язання алгебраїчних рівнянь
Мета роботи: отримання практичних навичок використання алгоритмів розв’язання систем лінійних алгебраїчних рівнянь та систем нелінійних рівнянь, їх програмної реалізації у середовищі Matlab, порівняння різних методів.
Короткі теоретичні відомості
Розв’язання системи алгебраїчних рівнянь (СЛАР) має велике практичне значення, тому що до нього зводиться розв’язок широкого кола складних практичних задач. Необхідність рішення СЛАР виникає при розв'язанні багатомірних анізотропних крайових задач, в задачах обчислювальної гідродинаміки, в теорії електричних кіл, в задачах управління та контролю, при розв’язанні рівнянь балансів і збереження в механіці, гідравліці, в задачах оцінки і прогнозування критичних ситуаціях та ін. Досить важливим завданням є аналіз випромінювання провідних структур, оскільки він необхідний при моделюванні дротових антен, апроксимації випромінюючої поверхні провідною сіткою, створенні різних симуляторів електромагнітного поля та ін.
Середовище Matlab надає різноманітні можливості для розв’язання задач лінійної алгебри, зокрема методів розв'язання систем алгебраїчних рівнянь (СЛАР):
, (1.1)
де A – матриця коефіцієнтів системи;
– вектор-стовпчик
вільних членів;
– вектор-стовпчик
невідомих.
Найпростішим способом розв'язання системи (1.1) в середовищі Matlab є виконання операції:
,
де A, B та X визначають відповідно матрицю коефіцієнтів системи, вектор-стовпчик вільних членів та вектор-стовпчик невідомих.
Проте в результаті виконання цієї операції буде виконуватись обчислення матриці, оберненої до A, що не завжди є доцільним. По-перше, таке розв'язання СЛАР потребує більшої кількості арифметичних операцій, ніж прямі методи, які використовують факторизацію матриці коефіцієнтів системи. По-друге, операція обертання матриці може призводити до суттєвих обчислювальних похибок якщо матриця A погано обумовлена. Факторизація матриці A надає можливість виявити її погану обумовленість та реалізувати більш стійкі алгоритми розв'язання СЛАР. Теоретичне підґрунтя методів факторизації розв'язання СЛАР викладені в [1].
Середовище Matlab включає внутрішні функції LU-, QR-факторизації матриць та розкладу Холесського. Ці функції називаються відповідно lu, qr та chol. Реалізація цих функцій дещо відрізняється від алгоритмів, викладених в [1]. Так, на відміну від [1], в методі LU-факторизації матриці L і U мають наступний вигляд:
;
.
Інша відмінність реалізації функції lu від [1] є те, що ця функція повертає матрицю перестановок P, а не вектор.
Середовище Matlab надає й інші можливості для реалізації алгоритмів розв'язання СЛАР, стійких до погано зумовлених систем. Одна з таких можливостей є використання сингулярного розкладу матриці A:
, (1.2)
де U, V – ортогональні матриці, а S – сингулярна матриця.
Сингулярна матриця є діагональною матрицею, елементи якої є квадратними коренями з власних чисел матриці AAT. Тому число обумовленості матриці можна знайти як:
де smax і smin – найбільше та найменше значення матриці S, відповідно.
Враховуючи (1.2) та таку властивість ортогональних матриць, що обернена до неї є ермітово спряженою до самої матриці, з (1.1) отримаємо:
, (1.3)
де
та
.
Як випливає з (1.3) елементи вектору Y можуть бути знайдені як:
,
де n – розмірність СЛАР.
Звідки
випливає, що рівняння (1.1) має єдиний
розв’язок тільки, якщо
.
Якщо якесь
,
то СЛАР або не має розв’язку, якщо
,
або має нескінчену множину розв’язків,
.
В обох випадках може бути поставлена
вимога, щоб знайти такий розв’язок,
який мінімізує норму нев’язки
буде мінімальною. Ця вимога виконується,
якщо прийняти, що
. (1.4)
На практиці в (1.4) перевіряють умову не для абсолютного нуля, а для машинного, тобто:
(1.5)
де
,
–
машинний нуль для одиниці.
Після того як розв’язане рівняння (1.3) згідно з (1.5), розв’язок СЛАР (1.1) знаходять як:
.
Для сингулярного розкладу матриць в середовищі Matlab використовують функцію svd. Для обчислення визначника та власних чисел і векторів використовують відповідно функції det та eig.
Для розв’язання нелінійних рівнянь в середовищі Matlab використовують функцію fzero, а для розв’язання системи нелінійних рівнянь – функцію fsolve.
