Графика.
Графика является мощным интерактивным средством анализа и синтеза систем управления. Полное решение задач анализа и синтеза может потребовать детального рассмотрения множества данных в самых разных форматах. Этот раздел имеет целью познакомить читателя с основами построения графиков средствами MATLAB.
Для представления графических изображений MATLAB использует графический дисплей, автоматически активизируемый при задании любой функции, результатом которой должен являться некоторый график (например, функции plot).Функция plot открывает графический дисплей, который носит название окна FIGURE. Вы можете создать другое такое окно с помощью функции figure. В одном сеансе работы с MATLAB может быть создано несколько графических окон. Для этого используется функция figure (n), которая создает n-e текущее окно. Графическое изображение можно удалить из окна с помощью функции clf в командной строке. Функция shg выводит на первый план текущее графическое окно.
Существуют две основные группы графических функций. Первая группа определяет тип графика, а именно зависимость между двумя массивами данных (векторами) в обычном масштабе, в полулогарифмическом масштабе или в логарифмическом масштабе по обеим осям. Вторая группа функций предназначена для оформления графиков путем добавления заголовков и поясняющего текста, обозначения осей, изменения масштабов и разбиения графического окна на несколько подокон.
Обычные графики строятся с помощью функции plot. Масштабы по осям и типы линий выбираются автоматически. Для обозначения осей используются функции xlabel и ylabel. Заголовок графика выводится с помощью функции title. Функция legend позволяет разместить на текущем графике необходимые пояснения. С помощью функции grid on на график можно нанести сетку. Основной график зависимости между двумя переменными строится с помощью комбинации функций plot, legend, xlabel, ylabel, title и grid on.
>> x=[0:0.1:1];
>> y=x.*sin(x);
>> plot(x,y)
>> title('Plot of x sin(x) vs x')
>> xlabel('x')
>> ylabel('y')
>> grid on
Рис. 10. Набор команд для построения графика y=xsin(x).
Рис. 11. График функции y=xsin(x).
На графике можно изобразить несколько линий, используя функцию plot с разными аргументами. Можно также изменить типы линий, принятые по умолчанию. Типы линий, заданные пользователем, будут выбраны автоматически.
>> x=[0:0.1:1];
>> y1=x.*sin(x); y2=sin(x);
>> plot(x,y1,'--',x,y2,'-.')
>> legend('y_1=xsin(x)','y_2=sin(x)')
>> xlabel('x'),ylabel('y_1 и y_2'),grid on
Рис. 12. Набор команд для построения графиков y1=xsin(x) и y2=sin(x).
Рис. 12. График функций y1=xsin(x) и y2=sin(x).
Скрипты.
До сих пор наше общение с MATLAB происходило на уровне командных строк. Мы вводили инструкции и функции, MATLAB интерпретировал их и выполнял соответствующие действия. Такой режим хорош в тех случаях, когда сеанс работы в среде MATLAB является коротким и не содержит повторяющихся операций. Однако действительная мощь MATLAB применительно к анализу и синтезу систем управления состоит в возможности выполнения длинной последовательности команд, записанных в виде файла. Такие файлы называются М-файлами, т.к. их имена имеют вид filename.m. Одним из видов М-файла является скрипт. Control System Toolbox представляет собой собрание М-файлов, разработанных специально для приложения к задачам управления. В дополнение к М-файлам, поставляемым вместе с MATLAB и пакетами прикладных программ, вы можете разработать собственные скрипты для решения конкретных задач. Скрипты — это обычные текстовые файлы в формате ASCII, которые создаются с помощью текстового редактора.
Скрипт представляет собой последовательность обыкновенных инструкций и функций, используемых на уровне командной строки. Скрипт вызывается также на уровне командной строки путем ввода имени файла или с помощью ниспадающего меню. Каждый скрипт может вызывать также другие скрипты. В случае вызова скрипта MATLAB сразу начинает выполнение инструкций и вычисление функций, входящих в файл, не ожидая ввода командной строки. Скрипт работает с переменными, находящимися в рабочей области.
Предположим, что вы захотели построить график функции y(t)=(, где — варьируемый параметр. Тогда с помощью текстового редактора вы записываете скрипт и присваиваете ему, скажем, имя plotdata.m, затем вводите в командной строке значение, которое автоматически помещается в рабочую область. После этого вы печатаете в командной строке имя plotdata, что незамедлительно приводит к выполнению скрипта. При этом скрипт использует самое последнее значение из рабочей области. После получения результата вы можете ввести другое значение в командной строке и выполнить скрипт еще раз.
Рис. 13. Использование скрипта для построения функции y=.
Рис. 14. График функции y=.
Ваш скрипт должен быть хорошо снабжен комментариями, начинающимися с символа %. Снабдите скрипт заставкой, содержащей некоторые сведения относительно его назначения и затем используйте функцию help, чтобы вывести заставку на экран. Используя скрипт plotdata.m, вы можете в интерактивном режиме исследовать влияние параметра. В командной строке введите значение = 10, за которым должно быть указано имя скрипта (в данном случае plotdata). MATLAB автоматически построит график функции у =. Вы можете вернуться к командной строке, ввести значение = 50 и выполнить скрипт еще раз, чтобы получить новый график.
Вы можете снабдить графики специальными и математическими символами, используя набор символов TeX (TeX - это торговая марка Американского Математического Общества). Всем последовательностям букв в ТеХ должен предшествовать символ '\'. Для обозначения нижних и верхних индексов используются соответственно символы «_» и «^».