МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІНСТИТУТ КОМП’ЮТЕРНИХ НАУК
ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра “Системи автоматизованого проектування”
ЗВІТ
до лабораторної роботи №1
на тему
«ОСНОВИ КОМП’ЮТЕРНОГО МОДЕЛЮВАННЯ СИСТЕМ
ЗА ДОПОМОГОЮ МОВИ MATLAB»
з курсу
«Моделювання систем»
Львів-2008
ЗМІСТ
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):
Значення х
Columns 1 through 9
0 0.1807 0.3166 0.3743 0.3393 0.2204 0.0470 -0.1380 -0.2889
Columns 10 through 18
-0.3684 -0.3566 -0.2567 -0.0933 0.0933 0.2567 0.3566 0.3684 0.2889
Columns 19 through 27
0.1380 -0.0470 -0.2204 -0.3393 -0.3743 -0.3166 -0.1807 -0.0000 0.1807
Columns 28 through 36
0.3166 0.3743 0.3393 0.2204 0.0470 -0.1380 -0.2889 -0.3684 -0.3566
Columns 37 through 45
-0.2567 -0.0933 0.0933 0.2567 0.3566 0.3684 0.2889 0.1380 -0.0470
Columns 46 through 54
-0.2204 -0.3393 -0.3743 -0.3166 -0.1807 -0.0000 0.1807 0.3166 0.3743
Columns 55 through 63
0.3393 0.2204 0.0470 -0.1380 -0.2889 -0.3684 -0.3566 -0.2567 -0.0933
Columns 64 through 72
0.0933 0.2567 0.3566 0.3684 0.2889 0.1380 -0.0470 -0.2204 -0.3393
Columns 73 through 81
-0.3743 -0.3166 -0.1807 -0.0000 0.1807 0.3166 0.3743 0.3393 0.2204
Columns 82 through 90
0.0470 -0.1380 -0.2889 -0.3684 -0.3566 -0.2567 -0.0933 0.0933 0.2567
Columns 91 through 99
0.3566 0.3684 0.2889 0.1380 -0.0470 -0.2204 -0.3393 -0.3743 -0.3166
Columns 100 through 101
-0.1807 -0.0000
Значення y
Columns 1 through 9
0 0.0701 0.0762 0.0108 -0.0687 -0.0875 -0.0233 0.0637 0.0890
Columns 10 through 18
0.0322 -0.0500 -0.0833 -0.0399 0.0399 0.0833 0.0500 -0.0322 -0.0890
Columns 19 through 27
-0.0637 0.0233 0.0875 0.0687 -0.0108 -0.0762 -0.0701 -0.0000 0.0701
Columns 28 through 36
0.0762 0.0108 -0.0687 -0.0875 -0.0233 0.0637 0.0890 0.0322 -0.0500
Columns 37 through 45
-0.0833 -0.0399 0.0399 0.0833 0.0500 -0.0322 -0.0890 -0.0637 0.0233
Columns 46 through 54
0.0875 0.0687 -0.0108 -0.0762 -0.0701 -0.0000 0.0701 0.0762 0.0108
Columns 55 through 63
-0.0687 -0.0875 -0.0233 0.0637 0.0890 0.0322 -0.0500 -0.0833 -0.0399
Columns 64 through 72
0.0399 0.0833 0.0500 -0.0322 -0.0890 -0.0637 0.0233 0.0875 0.0687
Columns 73 through 81
-0.0108 -0.0762 -0.0701 -0.0000 0.0701 0.0762 0.0108 -0.0687 -0.0875
Columns 82 through 90
-0.0233 0.0637 0.0890 0.0322 -0.0500 -0.0833 -0.0399 0.0399 0.0833
Columns 91 through 99
0.0500 -0.0322 -0.0890 -0.0637 0.0233 0.0875 0.0687 -0.0108 -0.0762
Columns 100 through 101
-0.0701 0
Значення z
Columns 1 through 9
0 0.4116 0.4411 0.0611 -0.3756 -0.4636 -0.1212 0.3337 0.4789
Columns 10 through 18
0.1795 -0.2865 -0.4865 -0.2349 0.2349 0.4865 0.2865 -0.1795 -0.4789
Columns 19 through 27
-0.3337 0.1212 0.4636 0.3756 -0.0611 -0.4411 -0.4116 -0.0000 0.4116
Columns 28 through 36
0.4411 0.0611 -0.3756 -0.4636 -0.1212 0.3337 0.4789 0.1795 -0.2865
Columns 37 through 45
-0.4865 -0.2349 0.2349 0.4865 0.2865 -0.1795 -0.4789 -0.3337 0.1212
Columns 46 through 54
0.4636 0.3756 -0.0611 -0.4411 -0.4116 -0.0000 0.4116 0.4411 0.0611
Columns 55 through 63
-0.3756 -0.4636 -0.1212 0.3337 0.4789 0.1795 -0.2865 -0.4865 -0.2349
Columns 64 through 72
0.2349 0.4865 0.2865 -0.1795 -0.4789 -0.3337 0.1212 0.4636 0.3756
Columns 73 through 81
-0.0611 -0.4411 -0.4116 -0.0000 0.4116 0.4411 0.0611 -0.3756 -0.4636
Columns 82 through 90
-0.1212 0.3337 0.4789 0.1795 -0.2865 -0.4865 -0.2349 0.2349 0.4865
Columns 91 through 99
0.2865 -0.1795 -0.4789 -0.3337 0.1212 0.4636 0.3756 -0.0611 -0.4411
Columns 100 through 101
-0.4116 -0.0000
При А=0,5
Середньоквадратична похибка (для однієї точки): 1.3552
Максимальна абсолютна похибка (для однієї точки): 0.3877
При А=0,375
Середньоквадратична похибка (для однієї точки): 0.3070
Максимальна абсолютна похибка (для однієї точки): 0.3415
При А=0,05
Середньоквадратична похибка (для однієї точки): 0.0987
Максимальна абсолютна похибка (для однієї точки): 0.0987
ВИСНОВКИ
З результатів виконання лабораторної роботи видно, що змодельований прецизійний дискретний помножувач частоти гармонічних сигналів є дуже чутливим до амплітуди вхідного сигналу, тому не може працювати в середовищі де амплітуда вхідного сигналу різко змінюється, особливо, коли зростає (тоді похибки зростають).
Також на цій лабораторній роботі я вивчив і закріпив знання та основні аспекти роботи, а також отримав практичні навички програмування на мові високого рівня, призначеній для виконання технічних обчислень, Matlab.