истеми з окремих блоків, що зберігаються в бібліотеках Simulink (рис. 7.3). У результаті такої збірки утворюється модель досліджуваної системи (S-модель), яка зберігається у файлі з розширенням .mdl.
.2 Загальні зауваження по моделюванню систем
Випробування готових і налагоджених демонстраційних прикладів може створити у малодосвідченого користувача ілюзію простоти моделювання. Насправді в більшості випадків це можливо тільки при роботі досить досвідченого користувача, реально пропрацював з тим чи іншим пакетом розширення не один десяток годин і здатного аналізувати правоту (або неправоту) своїх дій [14].
Малодосвідчений користувач, швидше за все, при переході до моделювання своїх систем або пристроїв, зіткнеться з безліччю несподіваних помилок. Найбільш характерними з них є:
невірне завдання параметрів моделей;
нестиковка вхідних, вихідних і керуючих параметрів блоків;
невідповідність блоків за типом;
помилкові записи математичних виразів;
невірний вибір методу моделювання і т.д.
Ніяка, навіть сама велика фірмова документація здатна відбити всі нюанси помилкового застосування системи MATLAB з її пакетами розширення. Тому обмежимося лише деякими загальними рекомендаціями.
Досить часто причиною помилок є невідповідність типів блоків та їх вхідних і вихідних параметрів. У таких випадках треба передбачати перехідні елементи. Наочний приклад - перехід від струму до напруги включенням резистора 1 Ом в ланцюг струму.
Особливо часто нестиковка блоків спостерігається при спільному використанні блоків з різних пакетів розширення, наприклад, з пакетів PowerSystem і Simulink. Розмірні величини, використовувані в пакеті PowerSystemBlockset, часто неприпустимі для блоків Simulink, що використовують безрозмірні величини (наприклад, при завданні функцій).
Мабуть, варто розумно обмежити застосування компонентів з різних пакетів розширення. Як показує практика, кожен з пакетів розширення має досить широку сферу застосування і дозволяє вирішувати безліч практично корисних завдань. Спільне застосування декількох пакетів розширення системи MATLAB + Simulink вимагає тривалої практики роботи в цій системі. Найменший ризик натрапити на труднощі моделювання має місце при використанні пакетів розширення групи Blockset, віднесеної до сфери прямого застосування з розширенням Simulink.
Важливою обставиною для користувачів MATLAB є той факт, що система ретельно діагностує підготовлену модель і допускає її виконання тільки після усунення всіх виявлених помилок. Повідомлення про помилки з'являються в спеціальних вікнах системи. Вони досить докладні і дозволяють намітити заходи щодо усунення помилок.
Тому варто зазначити, що приклади імітаційних моделей, наведені в літературі і в довідковій базі даних MATLAB, потребують не просто перегляді, а в уважному їх вивченні, а також аналізі одержуваних вихідних результатів моделювання.
2.3 Детальний опис особливостей виконання демонстраційного прикладу
Для завантаження демонстраційного прикладу «Навчання персептрона з використанням нормованої функції настройки» досить ввести в CommandWindow команду demop5. У вікні Figures з'явиться результат роботи програми - графік, який намагається класифікувати лінійно нероздільні вектора. Графік свідчить про невдачі класифікації.
Як же працює демонстраційний приклад «Навчання персептрона з використанням нормованої функції настройки»?
Персептрон навчається для класифікації 5 вхідних векторів за допомогою 2 категорій. Незважаючи на те, що один вхідний вектор набагато більше, ніж інші, навчання сLEARNPN відбувається швидко.
Р визначає послідовність входу для 5 векторів, а Т - послідовність мети (категорію вектора). Побудуємо графік для цих векторів за допомогою функції PLOTPV.
P=[- 0.5 - 0.5 +0.3 - 0.1 - 40; ...
. 5 +0.5 - 0.5 +1.0 50];
T=[1 1 0 0 1];
plotpv (P, T);
Звернемо увагу, що вхідних вектора мають набагато менші величини, ніж п'ята вектор в лівому верхньому кутку графіка. Персептрон повинен правильно класифікувати вхідні векторови на дві категорії, визначені Т.создает персептрон. Перший аргумент визначає очікувані діапазони з двох входів. Другий аргумент визначає, що є тільки один нейрон в шарі. LEARNPN менш чутливий до великих змін у вхідних розмірах вектора, ніж LEARNP (за замовчуванням).=Newp ([- 40 1; - 1...