
- •Лабораторная работа №1. Введение в MATLAB
- •Краткая характеристика MATLAB
- •Описание интерфейса MATLAB
- •Работа с MATLAB в режиме командной строки
- •Объявление переменных
- •Удаление созданных переменных
- •Создание матриц и векторов
- •Поэлементные операции над матрицами
- •Основы построения графиков
- •Задания на лабораторную работу
- •Примечание к заданию
- •Варианты задания
- •Лабораторная работа №2. Программы в MATLAB
- •Скрипты
- •Рабочая область в MATLAB
- •Комментарии
- •Функции
- •Фактические и формальные параметры функции
- •Рабочая область функции
- •Скрипты и функции
- •Передача параметров по значению
- •Анонимные функции
- •Документирование функций
- •Отладка
- •Задание на лабораторную работу
- •Варианты заданий
- •Лабораторная работа №3. Условные выражения и циклы
- •Управление потоками в MATLAB
- •Оператор ветвления if/elseif/else
- •Оператор цикла for
- •Оператор цикла while
- •Проверка корректности входных переменных
- •Задания на лабораторную работу
- •Варианты задания
- •Лабораторная работа №4. Вектора и матрицы
- •Создание векторов и матриц в MATLAB.
- •Обращение к элементам матриц.
- •Заполнение матриц
- •Операции деления, умножения и возведения в степень.
- •Создание матриц специального вида
- •Объединение матриц
- •Удаление строк и столбцов
- •Задания на лабораторную работу
- •Лабораторная работа №5. Ввод-вывод
- •Организация ввод-вывод в MATLAB
- •Строки
- •Функция disp
- •Функция input
- •Функция fprintf
- •Организация диалога с пользователем и вывод таблицы с использованием форматированного вывод
- •Задания на лабораторную работу
- •Варианты задания
- •Лабораторная работа №6. Графические возможности в MATLAB
- •Основы графики в MATALB
- •Оформление графиков
- •Вывод нескольких графиков в текущее окно
- •Функция eval
- •Задания на лабораторную работу
- •Варианты задания

Лабораторная работа №6. Графические возможности в MATLAB
Основы графики в MATALB
Одной из особенностей MATLAB являются простые и мощные возможности по построению графиков. В самом простом случае для построения графика достаточно использования функцию plot. В наиболее простом случае функция plot принимает 2 аргумента: два вектора одинаковой длины, задающие точки для построения графика. Первый аргумент это координаты точек по оси абсцисс, а второй соответствующие координаты по оси ординат. Приведем пример использования этой функции для построения графика
sin( x) :
%пример использования функции plot
%координаты точек для построения графика по оси абсцисс x = -2*pi : 0.5 : 2*pi;
%координаты точек для построения графика по оси ординат y = sin(x);
%строим график по точкам, координаты которых содержатся в x, y plot(x, y);
Врезультате выполнения данного скрипта появится следующие окно с графиком:
Данный пример построения графика является наиболее, простым и не содержит не какого-либо описания, подписей, обозначений, поэтому далее рассмотрим способы оформления графиков в MATLAB.
Оформление графиков
В данном пункте рассмотрим основные функции и команды для оформления графиков.
62

Для создания заголовка текущего графика используется функция title, принимающая заголовок в виде строки и выводящая его над графиком, например:
>> title('Exaple graphic');
Для того чтобы подписать ось абсцисс и ось ординат используются функции xlabel и ylabel соответственно, которые принимаю название осей, например:
>>xlabel('x');
>>ylabel('y');
Теперь рассмотрим функцию legend, выводящую легенду графика. Данную функцию удобно использовать, когда с одних и тех же осей строится несколько графиков (такой пример будет рассмотрен в следующих пунктах). Данная функция принимает названия графиков через запятую, которые содержатся на текущих осях. Например:
legend('y=sin(x)');
Далее рассмотрим как задать масштаб графика. По умолчанию MATLAB автоматически выбирает масштаб графика, что довольно удобно, однако в некоторых случаях масштаб графика по умолчанию нас не всегда будет устраивать, и для задания его вручную используются функции xlim и ylim, принимающие массив из двух элементов, указывающие минимальные и максимальные значения для соответствующей оси, например:
xlim([-100 100]);
В данном случае ось абсцисс будет содержать отображать только значения от -100 до
100.
И последнее что необходимо отметить из основ оформления графиков это включение сетки, выполняющееся командой gird on, которая добавит сетку на текущий график:
>> grid on
Теперь продемонстрируем все представленные возможности по оформлению графика, на примере следующего скрипта:
%пример использования функции plot и функций для оформления графиков
%координаты точек для построения графика по оси абсцисс
x = -20*pi : pi/32 : 20*pi;
%координаты точек для построения графика по оси ординат y = sin(x) .* x;
%строим график по точкам, координаты которых содержатся в x, y plot(x, y);
63

%заголовок графика title('Example graphic');
%подпишем оси xlabel('x'); ylabel('y');
%легенда
legend('y = sin(x) * x (legend)');
%масштаб графика
%по оси абсцисс xlim([-100 100]);
%по оси ординат ylim([-100 100]);
%включить сетку grid on
Врезультате выполнения данного скрипта появится следующее окно с графиком:
Вывод нескольких графиков в текущее окно
Для визуального сравнения нескольких графиков удобно строить несколько графиков в пределах одного окна и одной и той же системе координат. Для того чтобы добавить еще один график необходимо использовать команду hold all, после чего снова
64

воспользоваться функцией plot, например:
>>x = -10:0.1:10;
>>y1 = sin(x);
>>y2 = (x / 10) .^3;
>>plot(x, y1);
>>hold all
>>plot(x, y2);
Врезультате выполнения этих команд сформируется следующий график:
Отметим, что если не использовать команду hold all, то последний вызов функции plot затрет все предыдущие графики в текущем окне. Аналогичный результат можно получить и без использования функции hold, указа в plot сразу все графики, которые необходимо построить:
>> plot(x, y1, x, y2);
Построенный в этом случае график не будет отличаться от предыдущего. Однако чтобы этот график был построен в новых осях нужно либо убрать действие функции hold: hold off, или закрыть данное окно, чтобы функция plot создала новое окно с настройками по умолчанию, однако чтобы не делать это вручную, удобно будет воспользоваться функцией close:
>> close
Вызов данной функции без параметров закроек все открытые окна графиков.
65

Теперь рассмотрим способы задания цветов графиков, стилей линий и стилей точек графиков. Наиболее простой и удобный способ это написать строку с описание линии, после указания координат в функции plot(x, y, описание_линиии ), например:
plot(x,y,'-.or');
Опишем некоторые из них (полное описание можно найти в справке MATLAB): Тип линии
•'-' – сплошная;
•'--' – штриховая линия;
•':' – пунктирная линия;
•'-.' – штрихпунктирная линия. Тип маркера:
•'+' – знак плюс;
•'o' – круг;
•'*' – звездочка;
•'.' – точка;
•'x' – крестик.
Цвет линии и маркеров:
•'r' – красный;
•'g' – зеленый;
•'b' – синий;
•'k' – черный.
Тип линии, маркера и цвет могут следовать в строке в любой последовательности, например:
>>x = -1 : 0.1 : 1;
>>plot(x, sin(x), '--or', x, sin(x+pi/2), 'gx-.', x, sin(x-pi/2), '*b:');
legend('f1(x) = sin(x)', 'f2(x) = sin(x+pi/2)', 'f3(x) = sin(x-pi/2)');
Созданный график будет выглядеть следующим образом:
66