Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadania_na_2_semestr / Методическое пособие.pdf
Скачиваний:
377
Добавлен:
02.04.2015
Размер:
1.62 Mб
Скачать

Лабораторная работа №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