МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра “Системи автоматизованого проектування”
ЗВІТ
до лабораторної роботи №1
на тему
«ОСНОВИ КОМП’ЮТЕРНОГО МОДЕЛЮВАННЯ СИСТЕМ
ЗА ДОПОМОГОЮ МОВИ MATLAB»
з курсу
«Моделювання систем»
ЗМІСТ
1. Мета роботи………………………………………………………………………3
2. Короткі теоретичні відомості……………………………………………………3
3. Завдання…………………………………………………………………………..5
4. Отримані результати……………………………………………………………. 6
5. Висновки………………………………………………………………………….9
МЕТА РОБОТИ
Вивчити і закріпити знання та основні аспекти роботи, а також отримати практичні навички програмування на мові високого рівня, призначеній для виконання технічних обчислень, Matlab.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Графічне виведення інформації на мові Matlab. Функція plot автоматично відкриває нове вікно виводу графіків, якщо до цього воно ще не було відкрите. Якщо вікно виводу графіків вже було відкрите, тоді функція plot використовує його ж, як задане. Для відкриття нового вікна для виводу необхідно виконати команду figure. Для задання поточного вікна виводу серед відкритих графічних вікон необхідно набрати команду figure(n), де n - номер вікна.
Matlab дозволяє здійснювати поділ вікна виводу графіків на дві або чотири частини. Такий поділ з одночасним вибором активного вікна здійснюється за допомогою команди subplot(vha), в якій v та h приймають значення 1 або 2 і задають поділ екрана по вертикалі та по горизонталі відповідно, а параметр а визначає номер активного вікна. При виборі v = h=2 існує чотири вікна. Наприклад, команда subplot(211), plot(x) виведе графік зміни х у верхній половині екрана.
Якщо аргументом функції plot є комплексна змінна, тоді уявна частина числа ігнорується за винятком випадку, коли plot має один комплексний аргумент. У цьому випадку команда plot (Z), де Z є вектором або матрицею комплексних чисел, еквівалентна команді plot(real(Z), imag(Z)).
Використання при побудові графіка функції axis дає можливість задавати діапазон зміни координат. Структура такої команди має вигляд: axis([xmin xmax ymin ymax]).
Функція axis також дозволяє керувати виводом осей при побудові графіка та їх розбиттям. Так, наприклад, команда axis equal формує однаковий крок розбиття по х- та y-осях, а команда axis off дозволяє не виводити мітки та розбиття координатних осей.
Використання команди grid дозволяє нанести на графік сітку.
Моделювання систем на мові Matlab. Файл існуючої програми моделі системи на мові Matlab може бути завантажений шляхом натискання піктограми Open головного меню програми. Для формування нової програми необхідно послідовно натиснути на піктограми File, New та M-File і створити так званий М-файл. М-файлами називаються файли, що містять написані користувачем програми мовою програмування Matlab, які виконують певні операції.
Для ілюстрації можливостей Matlab та його окремих тулбоксів призначені численні демонстраційні програми, які у багатьох випадках функціонують у діалоговому режимі і супроводжуються розвинутою системою пояснень дій, які виконує програма. Для доступу до таких програм необхідно в командній стрічці набрати команду » demo. Відкривши за допомогою миші необхідний каталог, можна отримати доступ до демонстраційних файлів, запуск яких здійснюється за допомогою піктограми Run.
Для завершення моделювання необхідно в командній стрічці задати команду quit або exit. Аналогічну операцію можна виконати, використовуючи команду Exit Matlab меню File. Виконання цих команд призводить до втрати всіх вхідних даних та отриманих результатів, які зберігалися в робочій області. З метою їх збереження для подальшого використання необхідно перед виходом з середовища Matlab їх запам'ятати. Для цього служить команда: » save ім'я файлу, в якому будуть зберігатися дані. Такий файл матиме розширення mat. У разі необхідності збереження значень тільки окремих змінних після імені файла необхідно подати перелік цих змінних. Для завантаження збережених змінних у робочу область необхідно виконати команду » load ім'я файлу, в якому дані було збережено. Для усунення певних змінних чи функцій з робочої області Matlab застосовується команда » clear назва 1, назва 2, ..., де назва 1, назва 2, ... - імена змінних або назви функцій.
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Ознайомитися з теоретичними відомостями
Увімкнути комп'ютер. Переконатись в наявності встановленої програми Matlab.
Запустити програму Matlab та ознайомитися з її описом.
Написати на мові Matlab та відлагодити програму моделювання прецизійного дискретного помножувача частоти гармонічних сигналів, який описується різницевим рівнянням виду:
,
де - -те дискретне значення вхідного сигналу, A=,
k=2,3,…,101, та - -ті
дискретні значення скінченних різниць першого та другого порядків
відповідно, – -те дискретне значення вихідного сигналу моделі
помножувача частоти.
Вивести на монітор графіки, а в робоче вікно - масиви отриманих значень , та , де – -те дискретне значення точного вихідного сигналу помножувача частоти.
Визначити максимальну абсолютну та середньоквадратичну похибки і вихідних сигналів моделі помножувача частоти.
Дослідити чутливість моделі помножувача частоти до варіації значень її параметрів. Для цього виконати завдання 6, 7 при максимальній абсолютній похибці виконання операцій перемноження, ділення сигналів та видобування квадратного кореня .
Порівняти отримані результати з аналогічними результатами, отриманими іншими студентами.
Проінформувати викладача про завершення роботи.
Продемонструвати на комп’ютері та пояснити результати виконання отриманих завдань.
Оформити звіт.
РЕЗУЛЬТАТИ ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ
Графіки значень x(k), y(k) та z(k):
x =
Columns 1 through 9
0 0.1854 0.3527 0.4854 0.5706 0.6000 0.5706 0.4854 0.3527
Columns 10 through 18
0.1854 0.0000 -0.1854 -0.3527 -0.4854 -0.5706 -0.6000 -0.5706 -0.4854
Columns 19 through 27
-0.3527 -0.1854 -0.0000 0.1854 0.3527 0.4854 0.5706 0.6000 0.5706
Columns 28 through 36
0.4854 0.3527 0.1854 0.0000 -0.1854 -0.3527 -0.4854 -0.5706 -0.6000
Columns 37 through 45
-0.5706 -0.4854 -0.3527 -0.1854 -0.0000 0.1854 0.3527 0.4854 0.5706
Columns 46 through 54
0.6000 0.5706 0.4854 0.3527 0.1854 0.0000 -0.1854 -0.3527 -0.4854
Columns 55 through 63
-0.5706 -0.6000 -0.5706 -0.4854 -0.3527 -0.1854 -0.0000 0.1854 0.3527
Columns 64 through 72
0.4854 0.5706 0.6000 0.5706 0.4854 0.3527 0.1854 0.0000 -0.1854
Columns 73 through 81
-0.3527 -0.4854 -0.5706 -0.6000 -0.5706 -0.4854 -0.3527 -0.1854 -0.0000
Columns 82 through 90
0.1854 0.3527 0.4854 0.5706 0.6000 0.5706 0.4854 0.3527 0.1854
Columns 91 through 99
0.0000 -0.1854 -0.3527 -0.4854 -0.5706 -0.6000 -0.5706 -0.4854 -0.3527
Columns 100 through 101
-0.1854 -0.0000
y =
Columns 1 through 9
0 0.4578 0.7385 0.7356 0.4532 0.0000 -0.4532 -0.7356 -0.7385
Columns 10 through 18
-0.4578 -0.0000 0.4578 0.7385 0.7356 0.4532 0.0000 -0.4532 -0.7356
Columns 19 through 27
-0.7385 -0.4578 -0.0000 0.4578 0.7385 0.7356 0.4532 0.0000 -0.4532
Columns 28 through 36
-0.7356 -0.7385 -0.4578 -0.0000 0.4578 0.7385 0.7356 0.4532 0.0000
Columns 37 through 45
-0.4532 -0.7356 -0.7385 -0.4578 -0.0000 0.4578 0.7385 0.7356 0.4532
Columns 46 through 54
-0.0000 -0.4532 -0.7356 -0.7385 -0.4578 -0.0000 0.4578 0.7385 0.7356
Columns 55 through 63
0.4532 0.0000 -0.4532 -0.7356 -0.7385 -0.4578 -0.0000 0.4578 0.7385
Columns 64 through 72
0.7356 0.4532 0.0000 -0.4532 -0.7356 -0.7385 -0.4578 -0.0000 0.4578
Columns 73 through 81
0.7385 0.7356 0.4532 0.0000 -0.4532 -0.7356 -0.7385 -0.4578 -0.0000
Columns 82 through 90
0.4578 0.7385 0.7356 0.4532 0.0000 -0.4532 -0.7356 -0.7385 -0.4578
Columns 91 through 99
-0.0000 0.4578 0.7385 0.7356 0.4532 0.0000 -0.4532 -0.7356 -0.7385
Column 100
-0.4578
z =
Columns 1 through 9
0 0.4585 0.7418 0.7418 0.4585 0.0000 -0.4585 -0.7418 -0.7418
Columns 10 through 18
-0.4585 -0.0000 0.4585 0.7418 0.7418 0.4585 0.0000 -0.4585 -0.7418
Columns 19 through 27
-0.7418 -0.4585 -0.0000 0.4585 0.7418 0.7418 0.4585 0.0000 -0.4585
Columns 28 through 36
-0.7418 -0.7418 -0.4585 -0.0000 0.4585 0.7418 0.7418 0.4585 0.0000
Columns 37 through 45
-0.4585 -0.7418 -0.7418 -0.4585 -0.0000 0.4585 0.7418 0.7418 0.4585
Columns 46 through 54
0.0000 -0.4585 -0.7418 -0.7418 -0.4585 -0.0000 0.4585 0.7418 0.7418
Columns 55 through 63
0.4585 -0.0000 -0.4585 -0.7418 -0.7418 -0.4585 -0.0000 0.4585 0.7418
Columns 64 through 72
0.7418 0.4585 0.0000 -0.4585 -0.7418 -0.7418 -0.4585 -0.0000 0.4585
Columns 73 through 81
0.7418 0.7418 0.4585 0.0000 -0.4585 -0.7418 -0.7418 -0.4585 -0.0000
Columns 82 through 90
0.4585 0.7418 0.7418 0.4585 0.0000 -0.4585 -0.7418 -0.7418 -0.4585
Columns 91 through 99
-0.0000 0.4585 0.7418 0.7418 0.4585 -0.0000 -0.4585 -0.7418 -0.7418
Columns 100 through 101
-0.4585 -0.0000
ВИСНОВКИ
З результатів виконання лабораторної роботи видно, що змодельований прецизійний дискретний помножувач частоти гармонічних сигналів є дуже чутливим до амплітуди вхідного сигналу, тому не може працювати в середовищі де амплітуда вхідного сигналу різко змінюється, особливо, коли зростає (тоді похибки зростають).
Також на цій лабораторній роботі я вивчив і закріпив знання та основні аспекти роботи, а також отримав практичні навички програмування на мові високого рівня, призначеній для виконання технічних обчислень, Matlab.