Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1804

.pdf
Скачиваний:
9
Добавлен:
30.04.2022
Размер:
2.24 Mб
Скачать

Ю.С. Слепокуров

MATLAB 5.

АНАЛИЗ ТЕХНИЧЕСКИХ СИСТЕМ

Учебное пособие

Воронеж 2001

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Воронежский государственный технический университет

Ю.С. Слепокуров

MATLAB 5.

АНАЛИЗ ТЕХНИЧЕСКИХ СИСТЕМ

Учебное пособие

Воронеж 2001

УДК 681.142.2

Слепокуров Ю.С. MATLAB 5. Анализ технических систем. Учеб. пособие/ Воронеж. гос. техн. ун-т. Воронеж, 2001. 167 с.

В учебном пособии приведены основные операторы системы инженерных и научных расчетов MATLAB, которые позволяют производить сложные математические и инженерные расчеты с получением результатов в графическом виде, а также операторы пакета Symbolic Toolbox, реализующие символьные вычисления. Изложены основные принципы работы с пакетом визуального моделирования SIMULINK и дано краткое описание библиотек стандартных блоков. Рассмотрен базовый набор операторов пакета Control System Toolbox, знание которых позволит произвести грамотный анализ динамических и частотных свойств технических систем любой степени сложности.

Предназначено для студентов специальности 210300 ―Роботы и робототехнические системы‖, изучающих курсы Информатика‖, ―Основы моделирования и САПР‖ и ―Теория автоматического управления‖. Пособие будет полезно студентам других специальностей в программе обучения которых имеются подобные дисциплины, а также инженерам и аспирантам, занимающимся моделированием технических систем.

Учебное пособие подготовлено на магнитном носителе в текстовом редакторе MS WORD 97 и содержится в файле ―Matlab5.rar‖.

Ил. 45. Библиогр.: 6 назв.

Научный редактор д-р техн. наук А.И. Шиянов

Рецензенты: кафедра электротехники Воронежского государственного аграрного университета (зав. кафедрой канд. техн. наук В.В. Картавцев);

канд. техн. наук К.Е. Кононенко.

Печатается по решению редакционно-издательского совета Воронежского государственного технического университета.

Слепокуров Ю.С., 2001

Оформление. Воронежский государственный технический университет, 2001

ПРЕДИСЛОВИЕ

Это учебное пособие предназначено для тех, кто занимается решением проблем и задач, связанных, прежде всего, с теорией автоматического управления.

Язык, используемый в системе MATLAB, можно сравнить с языком BASIC по простоте его применения и принципу непосредственного исполнения (интерпретации). Ориентация MATLAB на работу с массивами делает его удобным и естественным инструментом обработки экспериментальных данных. Наличие системы SIMULINK, предназначенной для построения математических моделей объектов в виде структур, и специальных функций для анализа и синтеза этих моделей позволяет легко и просто использовать MATLAB в качестве лабораторного инструмента при изучении таких курсов, как теория автоматического управления, моделирование роботов и РТК, проектирование роботов и РТК и др.

Разумеется, далеко не все возможности системы MATLAB описаны в данном пособии. То же следует сказать и о рассмотренных встроенных пакетах: SIMULINK, Control System Toolbox, Symbolic Toolbox. Это связано с тем, что

MATLAB является системой, ориентированной на широкий круг научных задач, возникающих в физике, химии, и других прикладных сферах. Здесь же представлен тот круг операторов и функций, которые автор определил в качестве необходимого минимума для освоения системы MATLAB, надеясь, что это поможет студентам в решении широкого круга задач, возникающих при изучении ряда дисциплин, а также в ходе дипломного проектирования.

Автор будет благодарен всем, кто выскажет свои замечания по содержанию пособия и пожелания по его дальнейшему расширению и совершенствованию.

ВВЕДЕНИЕ

Система MATLAB разработана фирмой The MathWorks, Inc. ( США, г. Нейтик, шт. Массачусетс) и является интерактивной системой для выполнения инженерных и научных расчетов, ориентированной на работу с массивами данных. Система использует математический сопроцессор и допускает возможность обращения к программам, написанным на языках

FORTRAN, C и C++.

Система поддерживает выполнение операций с векторами, матрицами и массивами данных, алгебраическими полиномами, реализует решение нелинейных уравнений, задач оптимизации, интегрирование в квадратурах, решение дифференциальных и разностных уравнений, построение различных видов графиков, трехмерных поверхностей и линий уровня. В системе реализована удобная операционная среда, которая позволяет формулировать проблемы и получать решения в привычной математической форме, не прибегая к рутинному программированию.

Основным объектом системы MATLAB является прямоугольный числовой массив, допускающий комплексные элементы и ввод матриц без явного указания их размеров. Система позволяет решать многие вычислительные задачи за значительно более короткое время, чем то, которое потребовалось бы для написания соответствующих программ на языках программирования BASIC, PASCAL или С.

Написанная на языке С система MATLAB – это в полной мере интегрированная система, которая включает графику, программируемые макроопределения, реализацию стандарта IEEE-арифметики, быстродействующий интерпретатор.

Система MATLAB используется более чем в 70 ведущих институтах мира, в том числе, Стэнфордском, Калифорнийском, Кембриджском (Англия), Эйндховенском техническом университете (Нидерланды), университете Киото (Япония); Массачусетском, Калифорнийском, Хельсинкском технологических институтах; научно-исследовательских центрах – НАСА, а также в таких крупных промышленных компаниях, как Aerospace Corporation, Boeing

Aerospace, General Dynamics Corporation, IBM Corporation, Lockheed, Siemens

AG и др.

Внастоящее время существует две основных версии системы MATLAB –

5.2и 5.3. Обе Версии ориентированы на рабочие станции и поддерживают в среде Windows операционные системы Windows 95, Windows 98 и Windows NT.

Операционная среда системы MATLAB 5 это множество интерфейсов, которые поддерживают связь этой системы с внешним миром. Это диалог с пользователем через командную строку или графический интерфейс, просмотр рабочей области и путей доступа, редактор и отладчик М-файлов, работа с файлами и оболочкой DOS, экспорт и импорт данных, интерактивный доступ к справочной информации, динамическое взаимодействие с внешними системами

Microsoft Word. Excel Microsoft Word, Excel и др.

Реализуются эти интерфейсы через командное окно, инструментальную панель, системы просмотра рабочей области и путей доступа, редактор/отладчик М-файлов, специальные меню и т. п.

Базовые программные средства системы MATLAB:

Control System Toolbox. Набор алгоритмов MATLAB для моделирования, анализа и проектирования систем автоматического управления. Функции пакета включают наиболее традиционные методы передаточных функций и современные методы пространства состояний. С помощью пакета можно моделировать и анализировать как непрерывные, так и дискретные системы;

Frequency Domain System Identification. Пакет предоставляет специализированные средства для идентификации линейных динамических систем по их временному или частотному отклику. Частотные методы направлены на идентификацию непрерывных систем, что является мощным дополнением к традиционной дискретной методике. Методы пакета могут быть применены к таким задачам, как моделирование электрических, механических и акустических систем;

Fuzzy Logic Toolbox. Обладает простым и хорошо продуманным интерфейсом, позволяющим легко проектировать и диагностировать нечеткие модели. Обеспечивается поддержка современных методов нечеткой кластеризации и адаптивные нечеткие нейронные сети. Графические средства пакета позволяют интерактивно отслеживать особенности поведения системы;

Higher-Order Spectral Analysis Toolbox. Пакет содержит специальные алгоритмы для анализа сигналов с использованием моментов высшего порядка. Предоставляет широкие возможности для анализа негауссовых сигналов;

Image Processing Toolbox. Широкий спектр средств для цифровой обработки и анализа изображений;

LMI Control Toolbox. Пакет обеспечивает интегрированную среду для постановки и решения задач линейного программирования;

Model Predictive Control Toolbox. Полный набор средств для реализации стратегии предиктивного управления. Эта стратегия была разработана для решения практических задач управления сложными многоканальными процессами при наличии ограничений на переменные состояния и управления. Методы предиктивного управления используются в химической промышленности и для управления другими непрерывными процессами;

µ-Analysis and Synthesis Toolbox. Пакет содержит функции для проектирования устойчивых систем управления. Использует оптимизацию в равномерной норме и сингулярный параметр ;

NAG® Foundation Toolbox. Содержит более 240 функций,

охватывающих оптимизацию, ОДУ и уравнения в частных производных, квадратуры и статистику;

Neural Network Toolbox. Пакет для работы с нейронными сетями. Обеспечивает поддержку проектирования, обучения и моделирования множества известных сетевых парадигм, от базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей;

Communications Toolbox. Полный набор возможностей для разработки, анализа и тестирования моделей цифровых и аналоговых систем и устройств связи и передачи информации. Пакет содержит более 100 функций и примерно 150 блоков SIMULINK для разработки и моделирования таких систем, как устройства радиосвязи, модемы и устройства для хранения информации;

Optimization Toolbox. Пакет включает программы широко известных методов минимизации и максимизации линейных и нелинейных функций. Эти программы могут быть использованы для решения сложных задач оптимизации стоимости, надежности и качества для различных приложений;

Partial Differential Equation Toolbox. Содержит средства для исследования и решения нестационарных дифференциальных уравнений второго порядка в частных производных. В пакете используется метод конечных элементов;

Robust Control Toolbox. Пакет включает в себя средства для проектирования и анализа многопараметрических систем управления, устойчивость которых имеет существенное значение. Среди таких систем могут быть системы с модельными ошибками, динамика которых известна не полностью, или параметры которых могут изменяться в ходе моделирования. Алгоритмы пакета позволяют выполнять сложные вычисления, принимая во внимание изменения множества параметров;

QFT Control Design Toolbox (Quantitative feedback theory). Пакет содержит функции для создания робастных систем с обратной связью. QFT – это инженерный метод, использующий частотное представление моделей для удовлетворения различных требований к качеству при наличии неопределенных характеристик у объекта. В основе метода лежит наблюдение, что обратная связь необходима в тех случаях, когда некоторые характеристики объекта неопределенны или на его вход подаются неизвестные возмущения;

Signal Processing Toolbox. Пакет обеспечивает широкие возможности по созданию программ обработки сигналов для научных и технических приложений. В пакете используется разнообразная техника фильтрации и новейшие алгоритмы спектрального анализа;

Spline Toolbox. Используется для представления экспериментальных функций на больших интервалах, где аппроксимация единым полиномом невозможна;

Symbolic Math Toolboxes. Пакет включает в себя вычислительное ядро системы Maple V Release 4 и позволяет пользоваться символьной математикой и вычислениями с плавающей точкой;

System Identification Toolbox. Содержит инструменты для создания математических моделей динамических систем на основе наблюдаемых входных/выходных данных. Пакет снабжен графическим интерфейсом, помогающим организовать данные и создавать модели;

SIMULINK. Это интерактивная среда для моделирования и анализа широкого класса динамических систем. Представляет пользователю графический интерфейс для конструирования моделей из стандартных блоков при помощи технологии ―drag-and-drop‖. Обширная библиотека блоков позволяет быстро моделировать различные системы без написания специальных программ;

MATLAB Compiler. С помощью этого пакета можно генерировать оптимизированный С и С++ код для М-файлов. Транслируя код MATLAB на С и С++ компилятор существенно ускоряет работу приложения;

MATLAB C Math Library. Библиотека предоставляет пользователю набор объектных модулей MATLAB для выполнения наиболее употребительных математических алгоритмов для численных расчетов и процедур для анализа данных. Пользователь может применять эту библиотеку совместно с MATLAB Compiler для создания процедур MATLAB, работающих в каких-либо внешних приложениях;

MATLAB C++ Math Library. Эта библиотека позволяет вставлять мощные подпрограммы численных расчетов MATLAB в приложения, написанный на С++. Предназначена для создания автономных приложений, которые требуют использования мощных математических функций MATLAB;

Excel Link. Программное средство для создания интерфейса связи с популярными табличными процессорами класса Excel 5.0 и выше, созданными фирмой Microsoft Inc. для офисных комплексов Microsoft Office.

Обеспечивается простая связь между MATLAB и Excel, двухсторонний обмен данными, просмотр, редактирование и обработка данных из среды MATLAB в Excel, подготовка Excel-приложений и др.

1. КОМАНДЫ БАЗОВОЙ СИСТЕМЫ

1.1. Командное окно системы MATLAB

После запуска программы MATLAB открывается командное окно. Инструментальная панель командного окна системы МАТ1АВ позволяет обеспечить простой доступ к операциям над М-файлами (рис. 1.1).

Рис. 1.1

Эти операции включают:

создание нового М-файла (New File);

открытие существующего М-файла (Open File);

удаление фрагмента (Cut);

копирование фрагмента (Copy);

вставку фрагмента (Paste);

отмену последней выполненной операции (Undo);

просмотр рабочей области (Workspace Browser);

просмотр путей доступа (Path Browser);

создание новой модели Simulink

текущую помощь (Help).

1.2.Управление переменными и рабочей средой

who, whos

Вывод списков текущих переменных

 

 

Рабочая область системы MATLAB - это область памяти, в которой размещены переменные системы. Содержимое этой области можно просмотреть из командной строки с помощью команд who и whos. Команда who выводит только имена переменных, а команда whos - информацию о размерах массивов и типе переменной, а также, в отдельной строке, информацию об общем количестве элементов в рабочей области и объеме используемой памяти.

Команды who global и whos global выводят списки глобальных переменных рабочей области.

Рассмотрим в качестве примера пять массивов различного типа:

А - трехмерный массив чисел удвоенной точности;

В - массив разреженной структуры;

С - массив ячеек;

S – массив символов;

patient - массив записей.

whos

 

 

 

 

 

Name

Size

 

Bytes

Class

A

4

3

2

192

double array

В

4

4

 

212

sparse array

С

4

3

2

2400

cell array

S

4

16

 

128

char array

patient

1

2

 

В40

struct array

Grand total is 194 elements using 3772 bytes

Специальное средство просмотра Workspace Browser обеспечивает представление команды whos в виде графического интерфейса.

save, load

Загрузка и сохранение рабочей области

Команды save и load позволяют в любой момент времени сохранить содержимое рабочей области или загрузить новые данные в процессе сеанса работы, С помощью этих команд можно также осуществлять экспорт и импорт

ASCII-фаилов.

Сохранение переменных рабочей области. Команда save позволяет сохранить содержимое рабочей области в двоичном МАТ-файле, который можно в дальнейшем вызвать командой load. Команда save также доступна в качестве опции Save Workspace меню File.

Спецификация формата файла. Для того чтобы управлять форматами файлов, следует в команде save в дополнение к имени файла и списку переменных следующие флаги:

флаг

Пояснение

-mat

Двоичный МАТ-файл (по умолчанию)

-ascii

ASCII-формат (8 цифр)

-ascii -double

ASCII-формат (16 цифр)

-ascii -double -tabs

Формат с разделителями и метками табуляции

-v4

Формат версии MATLAB 4

-append

Добавить данные к существующему МАТ-файлу

При использовании флага v4 можно сохранить только те данные, которые совместимы с данными, используемыми в версии MATLAB 4; это означает, что