Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Apply_Soft_Lab.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.43 Mб
Скачать

Лабораторна робота № 4 Основи роботи в застосунку matlab. Застосування пакету Control System для розрахунку частотних характеристик і динаміки системи

Мета роботи: навчитися моделювати та досліджувати лінійні САК за їх передатними функціями в середовищі MATLAB та отримати навики виконання матричних операцій, що часто зустрічаються під час вирішення інженерних задач. Познайомитися з можливостями пакету Control System Toolbox.

Програма роботи:

  1. Виконати операції з матрицями:

  • створити довільну матрицю A розміром 33;

  • створити одиничну матрицю A1 розміром 33;

  • знайти матрицю B як суму матриць A і A1;

  • транспонувати матрицю B;

  • знайти добуток матриць A і транспонованої матриці B;

  • знайти визначник (детермінант) матриці A;

  • знайти обернену матрицю A.

Вивести графік функції в межах [0; 10] з кроком 0,1.

Пп. 1 і 2 виконувати прямим набиранням команд MATLAB безпосередньо у командному вікні після символу запрошення >>. Отримані результати подати у звіті з поясненнями дій після виконання кожного рядка.

  1. Дослідити за своїм варіантом завдання до лабораторної роботи №2 поведінку системи за її передатною функцією:

  • логарифмічні частотні характеристики (діаграми Бодé);

  • розміщення нулів та полюсів передатної функції на комплексній площині.

  1. З використанням пакету Control System виконати дослідження САК за заданою своїм варіантом передатною функцією:

  • створити модель системи за чисельником і знаменником передатної функції;

  • побудувати логарифмічні частотні характеристики системи (діаграми Бодé);

  • вивести на комплексну площину діаграму нулів та полюсів системи;

  • знайти перехідну характеристику САК.

  1. Оформити звіт до лабораторної роботи.

У звіті про виконану роботу подати:

  • тему, мету та програму роботи;

  • вихідні дані за варіантом завдання;

  • виконувані дії та тексти програм (сценаріїв) MATLAB з їх поясненнями та підписами до графіків;

  • отримані результати;

  • висновки про вплив на поведінку САК чисельника передатної функції системи;

  • висновки про зручність розв'язування задач такого типу в середовищі MATLAB і засобів Control System Toolbox.

Методичні вказівки

До п. 1.

У даному пункті програми роботи виконується послідовність команд MATLAB для роботи з матрицями, як це показано у прикладі нижче; дані для прикладу можуть бути довільними. Для виведення проміжних результатів на екран (у робоче вікно середовища) в кінці операторів крапка з комою НЕ ставиться. Під час виконання даного пункту програми роботи потрібно звернути увагу на отримані на екрані результати і подати їх у звіті.

>> A=[2 3 4; 4 3 5; 6 4 9]

>> A1=ones(3,3)

>> B=A+A1

>> B'

>> A*B'

>> det(A)

>> inv(B)

До п. 2.

У даному пункті програми роботи виконується така послідовність команд MATLAB у командному вікні. Під час виконання звернути увагу на отримані на екрані результати.

>> x=0:0.1:10;

>> y=exp(-0.3*x).*cos(3*x);

>> plot(x, y)

>> grid

До п. 3, 4.

Для побудови поліномів у середовищі MATLAB використовуються стандартні засоби:

  • задавання коефіцієнтів полінома за допомогою вектора у звичній послідовності – наприклад, поліному A(s) = s4 + 1.54s3 + 3.43s2 + 2.62s + 1.1 відповідатиме вектор A = [1, 1.54, 3.43, 2.62, 1.1];

  • визначення значення полінома для заданого аргументу x відбувається застосуванням функції polyval(A, x), де A – вектор коефіцієнтів полінома, x – величина змінної, для якої обчислюється значення полінома.

Для побудови графіків частотних характеристик системи за її передатною функцією використовуються функції abs (модуль, у т. ч. функції комплексної змінної) та angle (кут функції комплексної змінної в радіанах). Для побудови діаграми розміщення нулів/полюсів системи потрібно застосувати функції real (виділення дійсної частини комплексного числа) та imag (виділення уявної частини комплексного числа).

Не варто забувати про використання знаку ; (крапка з комою) – цей знак забороняє виведення проміжних результатів на екран у текстах програм і є доцільним під час роботи з великими масивами даних.

Для виконання даних пунктів програми роботи потрібно створити скрипт (сценарій) MATLAB. Скриптом або сценарієм називається файл MATLAB, який містить потрібний набір команд системи, замість того, щоб набирати його в командному рядку (якоюсь мірою його можна порівняти з програмою для алгоритмічної мови). Новий сценарій створюється редактором-налагоджувачем середовища за допомогою значка  (новий документ) на панелі інструментів MATLAB чи власне редактора. Після набирання програма-сценарій зберігається у каталозі студента або на зовнішньому носії (наприклад, на флеш-накопичувачі чи дискеті).

Імена файлів у середовищі MATLAB можна задавати з використанням лише латинських літер, цифр і знаку підкреслення. Використовувати в іменах файлів MATLAB кириличні символи, прогалини, дужки тощо заборонено. Це пояснюється тим, що MATLAB розглядає файл як власну функцію, ім'я якої задається відповідними правилами.

Запуск сценарію з середовища редактора-налагоджувача відбувається натисканням клавіші F5 або за допомогою пункту меню Debug Run, при цьому файл сценарію автоматично зберігається на диску. Потрібно пам'ятати, що ім'я файлу-сценарію в MATLAB можна задавати лише з використанням латинських букв, цифр і символу підкреслення.

Рекомендується запускати файл-сценарій частинами після набирання кожної групи рядків (наприклад, виведення окремих вікон графіків), у такому разі результат виконання кожної групи операторів програми-сценарію є наочнішим.

Як приклад пропонується один з варіантів такого сценарію (чи програми-скрипту) MATLAB для виконання даних пунктів лабораторної роботи.

% Лабораторна робота № 4(1)

% ===============================

% Тема: "Освоєння пакету MATLAB"

% ===============================

% Коефіцієнти чисельника передатної функції

A = [0.86 1.6 1];

% Коефіцієнти знаменника передатної функції

B = [1 2.62 3.86 2.6 1];

% Значення кутової частоти

w = 0.1:0.1:100;

s = 1j*w; % Комплексна частота

% Значення функції

Ws=polyval(A, s)./polyval(B,s);

% Побудова ЛАЧХ (в дБ)

As = abs(Ws);

figure(1);

subplot(2, 1, 1);

loglog(w, As), grid

title('Bode plot');

xlabel('\omega, c^{-1}');ylabel('|W(s)|, dB');

% Побудова ФЧХ

Fs = angle(Ws)*180/pi;

subplot(2, 1, 2);

semilogx(w, Fs), grid

xlabel('\omega, c^{-1}');ylabel('\phi, °');

% Побудова нулів та полюсів передатної функції

Z = roots(A) % Нулі

P = roots(B) % Полюси

figure(2)

plot(real(Z), imag(Z), 'ob', real(P), imag(P), 'xb'), grid

axis([-2 2 -2 2]), axis square

% -----------------------------------------------------

% Теж саме за допомогою засобів Control System Toolbox

% -----------------------------------------------------

% Створення системи

Wsys = tf(A, B)

% Побудова ЛАЧХ/ФЧХ

figure(3)

subplot(1, 1, 1)

bode(Wsys), grid

% Побудова перехідної характеристики

figure(4)

step(Wsys), grid

% Побудова нулів та полюсів передатної функції

figure(5)

pzmap(Wsys), grid

Під час виконання програми-сценарію звернути увагу на створення графіків виведених результатів в окремих графічних вікнах за допомогою команди figure(№ вікна) і розбиття графічного вікна на області за допомогою команди subplot(M,N,P), яка поділяє графічне вікно на матрицю MN (рядків та стовпців) і робить активною вікно з номером P (нумерація зліва направо і згори донизу).

Отримані графіки вставляються у текст звіту копіюванням до буферу обміну шляхом вибору послідовності пунктів меню Edit Copy Figure з наступним вставлянням у звіт у середовищі текстового редактора.

У висновках зробити порівняльний аналіз способів отримання результатів за допомогою прямого програмування в середовищі MATLAB і за допомогою пакету Control System Toolbox.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]