Етап виконання завдання
| Команди Matlab
|
1. Зробіть свою папку робочою папкою MATLAB.
| ЛКМ по кнопці праворуч від поля Current Directory
|
2. Відкрийте вікно робочої папки.
| View – Current directory
|
3. Відкрийте модель, побудовану в лабораторній роботі № 4.
| подвійне клацання по lab3.mdl
|
4. Збережіть модель у своїй папці під ім'ям lab5.mdl. Виділіть мишкою регулятор разом з інтегратором і перетворіть його в підсистему.
|
File – Save as...
Edit – Create subsystem
|
5. Дайте підсистемі ім'я Регулятор, розташуєте назву згори і виберіть фоновий колір на свій смак.
| Подвійне клацання по імені
ПКМ – Format – Flip name
ПКМ – Background color
|
6. Визначте для входу і виходу цього блоку імена е і u відповідно.
| Подвійне клацання по блоці
ЛКМ на імені входу або виходу
|
7. Аналогічно побудуйте підсистему Привід з входом u і виходом delta і підсистему Судно з входами f і delta і виходом phi. Збережіть модель і скопіюйте її через буфер обміну в звіт.
|
|
8. Обведіть мишею(при натиснутій ЛКМ) усі блоки, окрім джерел сигналів і осцилографів. Створіть підсистему Лінійна система з входами r(заданий курс) і f(відхилення) і виходами phi і delta.
|
Edit – Create subsystem
|
9. Скопіюйте блок Лінійна система і змініть його ім'я на Нелінійна система. Підключіть до входів нового блоку ті ж сигнали(заданий курс і відхилення), що і для першого блоку. Встановіть для блоку лінійної системи жовтий фоновий колір, а для нелінійної - фіолетовий.
| Перетягнути за допомогою ПКМFormat – Background color
|
10. Відкрийте підсистему Привід в нелінійній системі. Ми побудуємо нелінійну модель приводу, враховуючи обмеження на кут перекладання керма і швидкість його зміни.
| Подвійне клацання по блоці
|
11. Видаліть сполучні лінії.
| ЛКМ на елементі, натиснути Delete.
|
12. Змініть передавальну функцію на
.
| Подвійне клацання по блоці
· Denominator
|
13. Відкрийте вікно Library Browser.
|
View – Library Browser
|
14. Перетягніть у вікно моделі блок Sum з групи Math Operations. Змініть його так, щоб організувати негативний зворотний зв'язок.
| Подвійне клацання на блоці
|+ - в полі List of signs
|
15. Перетягніть у вікно моделі два блоки Saturation(насичення) з групи Discontinuities. Розташуйте один блок перед інтегратором(обмеження на швидкість перекладання), другий, - після(обмеження на кут перекладання).
|
16. Введіть потрібні межі допустимих значень, так щоб швидкість перекладання керма була не більше 3 градусів в секунду, а кут перекладання - не більше 30 градусів. У звіті вкажіть усі встановлені значення.
| Подвійне клацання на блоці
· Upper limit
· Lower limit
|
17. З'єднайте блоки потрібним способом. Збережіть модель. Скопіюйте схему нелінійної підсистеми Привід в звіт.
|
|
18. Закрийте зайві вікна і перейдіть в головне вікно моделі. Звільніть обидва осцилографи від зв'язків, перетягнувши їх управо при натиснутій клавіші Shift.
|
19. Перетягніть у вікно моделі два блоки Mux(мультиплексор) з групи Signal Routing. Ці блоки служать для об'єднання сигналів в "джгут"(багатожильний кабель).
|
20. З'єднайте входи першого блоку з сигналами управління(delta) лінійної і нелінійної систем, а вихід - з входом осцилографа Руль.
|
21. Аналогічно з'єднаєте входи другого мультиплексора з сигналами виходу(phi) лінійної і нелінійної систем, а вихід - з входом осцилографа Курс.
|
22. Збережіть модель і скопіюйте її через буфер обміну в звіт.
|
|
23. Встановіть заданий курс 10 градусів і відхилення 0. Виконайте моделювання і подивіться результати. Жовтий графік показує зміну першого входу осцилографів (лінійна система), фіолетовий - другого(нелінійна система).
|
24. Поясніть розбіжність між результатами моделювання лінійної і нелінійної системи. Яка нелінійна ланка істотно впливає на результат?
|
25. Створіть новий M-файл.
| File – New – M-file
|
26. У вікні редактора введіть команди для виведення графіків перехідних процесів по курсу. Тепер масив phi містить 3 стовпці: час і сигнали з двох входів осцилографа(виходи лінійної і нелінійної системи). Увесь текст праворуч від знаку читається коментарем. Третій параметр команди plot означає колір: 'b' - синій, 'g' - зелений, 'r' - червоний і так далі(див. довідку по цій команді). Команда hold on означає, що не потрібно стирати старий графік, hold off - потрібно.
| figure(1); % Відкрити рис. 1
subplot(2,1,1);
plot(phi(:,1),phi(:,2),'b');
hold on;
plot(phi(:,1),phi(:,3),'g');
hold off;
legend('Лінійна система',...
'Нелінійна система')
|
27. Збережіть файл під ім'ям lab4graph.m.
| File - Save
|
28. Запустіть файл(скрипт) на виконання. Якщо графік не з'явився на екрані, дивитеся повідомлення про помилки в командному вікні MATLAB.
| клавіша F5
|
29. Збільште розмір шрифту, вставивши цю команду відразу після виклику subplot. Тут gca означає поточні осі координат(get current axis). Ще раз запустите скрипт.
| set(gca,'FontSize',16);
|
30. Додайте в скрипт назву графіку і осей координат, так само, як і в роботі № 4.
| title('Поворот на 10 градусів')
xlabel('Час, сек');
ylabel('\phi, град');
|
31. Збільште товщину ліній. За допомогою функції get ми спочатку отримуємо масив покажчиків(хэндлов, handle) на усі об'єкти-лінії. Потім за допомогою функції set встановлюємо для кожної лінії властивість LineWidth(товщина лінії), рівну 1,5 пункту. Збережіть файл і запустіть його на виконання.
| h = get(gca, 'Children')
set(h(1),'LineWidth',1.5)
set(h(2),'LineWidth',1.5)
|
32. Додайте в скрипт команди, за допомогою яких в нижній половині вікна на одному графіку будуються криві зміни сигналу управління в лінійній і нелінійній системах. Не добавляйте заголовок для цього графіку(він заважатиме верхньому графіку).
|
33. Зробіть так, щоб скрипт працював правильно. Скопіюйте текст скрипта в звіт.
|
34. Запустіть скрипт на виконання. Скопіюйте отриманий графік в звіт.
|
35. Змініть величину заданого курсу на 90 градусів і знову проведіть моделювання.
|
Подвійне клацання по блоці Заданий курс
ввести 90 в полі Final value
|
36. Перейдіть у вікно редактора і змініть назву графіку на "Поворот на 90 градусів". Знову запустіть скрипт і скопіюйте побудований графік в звіт.
| title('Поворот на 90 градусів')
клавіша F5
print -dmeta
|
37. Поясніть, чому розбіжність вийшла така істотна розбіжність між лінійною і нелінійною моделями? Як тепер нелінійності впливають на результат?
|
Таблиця коефіцієнтів
Варіант
| , сек
| ,рад/сек
| , сек
| , сек
|
-
| 16.0
| 0.06
|
|
|
-
| 16.2
| 0.07
|
|
|
-
| 16.4
| 0.08
|
|
|
-
| 16.6
| 0.07
|
|
|
-
| 16.8
| 0.06
|
|
|
-
| 17.0
| 0.07
|
|
|
-
| 17.2
| 0.08
|
|
|
-
| 17.4
| 0.07
|
|
|
-
| 17.6
| 0.06
|
|
|
-
| 17.8
| 0.07
|
|
|
-
| 18.0
| 0.08
|
|
|
-
| 18.2
| 0.09
|
|
|
-
| 18.4
| 0.10
|
|
|
-
| 18.6
| 0.09
|
|
|
-
| 18.8
| 0.08
|
|
|
-
| 19.0
| 0.07
|
|
|
-
| 19.2
| 0.08
|
|
|
-
| 19.4
| 0.09
|
|
|
-
| 19.6
| 0.10
|
|
|
-
| 18.2
| 0.0694
|
|
|
Контрольні питання до захисту
1. Див. усі питання до робіт № 1, № 2 і № 3.
2. Як побудувати підсистему з декількох існуючих блоків моделі?
3. Скільки входів і виходів може мати підсистема?
4. Як редагувати підсистему?
5. Як змінити назви входів і виходів підсистеми?
6. Як скопіювати існуючий блок або підсистему?
7. Як видалити блок або сполучну лінію?
8. Поясніть структуру нелінійної моделі приводу.
9. Чому в нелінійній моделі не можна використати загальну передатну функцію лінійної моделі приводу?
10. Як вибираються межі насичення для блоку, розташованого на вході інтегратора?
11. Як звільнити блок від зв'язків з іншими блоками?
12. Поясніть призначення блоку Mux.
13. Як розібратися, який сигнал поступає на перший вхід осцилографа(через мультиплексор), який - на другій?
14. Що таке скрипт в середовищі MATLAB?
15. Що означає знак нутри скрипта?
16. Як вводити декілька команд в одному рядку?
17. Як правильно перенести довгу команду на наступний рядок?
18. Що означає третій параметр при виклику функції plot?
19. Що означають команди hold on і hold off?
20. Як запустити скрипт на виконання?
21. Як виконати тільки деякі команди із скрипта?
22. Що означає gca?
23. Для чого служать функції set і get?
24. Як дізнатися і змінити розмір шрифту на графіці?
25. Навіщо потрібний хэндл(handle) графічного об'єкту?
26. Як змінити товщину лінії на графіці?
27. Де виводяться повідомлення про помилки в скрипті?
[1] Числові значения , , и потрібно взяти із таблиці в кінці файлу.
[2] Значение было определено в лабораторной работе № 2.