Графические средства пакета matlab
Графические средства Matlab ориентированы не на редактирование художественных изображений, а на построение двух- и трехмерных графиков функциональных зависимостей в самой разнообразной форме.
Построение графика выполняется в специальном объекте – графическом окне (figure) – создание которого произойдет при выполнении оператора
figure
либо автоматически перед выполнением какой-либо графической m-функции (если до этого не было создано ни одного графического окна).
Примем обозначения: x, y, u – векторы; A, B, C – двухмерные матрицы; i, m, n – скаляры, z – комплексное число или вектор комплексных чисел.
Двухмерная графика
Построение графиков в декартовых координатах
Наиболее распространенной является функция plot. Форматы вызова:
plot(y) – строит значения элементов вектора y в функции их порядкового номера (адреса) – yi = f(i);
plot(x,y) – строит график yi = f(xi);
plot(z) – равносилен команде plot(real(zi),imag(zi));
plot(A) – строит семейство графиков, каждый из которых представляет собой зависимость элементов одного столбца матрицы A в функции порядкового номера строки;
plot(x, A) – то же, но в функции соответствующего элемента вектора x. Длина вектора x должна быть равна числу строк матрицы A.
По умолчанию графики выводятся отрезками непрерывных линий, соединяющими между собой соседние точки. Цвет присваивается автоматически согласно используемой палитры, кроме белого и черного.
Пример.
» x=0:.1:10;
» y=sin(2*x).*cos(x);
» plot(x,y)
» z=exp(1./(x+1));
» A=[y; z];
» plot(x, A)
При необходимости в качестве дополнительного аргумента функции plot следует указать символьную константу, определяющую дополн. параметры графика.
Например, команда plot(x,A,'k+') рисует график, отмечая заданные точки черными плюсами; команда plot(x,y,'r:') рисует график красной пунктирной линией.
В одной функции plot можно использовать несколько групп аргументов. В этом случае все графики, созданные группами аргументов, изображаются в одной системе координат в одинаковом масштабе.
» x=0:0.05:1;
» plot(x,x.^2,'m--',x,1-exp(x),'b.-')
» y1=x.^3; y2=1-sqrt(exp(x));
» figure, plot(x,y1,x,y2); % Можно использовать параметры по умолчанию
» figure, plot(x,1-exp(x),x,y2,'go'); % Можно не для всех графиков
При необходимости построения графиков в логарифмическом масштабе по какой-либо оси следует использовать функции:
semilogx(x,y) – логарифмический масштаб по оси x;
semilogy(x,y) – логарифмический масштаб по оси y;
loglog(x,y) – логарифмический масштаб по обеим осям.
Формат использования этих функций такой же, как и у функции plot.
Дополнительные функции:
bar(x,y), bar(x,A) – построение столбчатых диаграмм;
» x=[1 2 3]; A=[1 2; 3 4; 5 6]; bar(x,A(:,1))
» figure, bar(x,A)
stairs(x,y) – построение ступенчатых графиков;
stem(x,y) – построение пиковых диаграмм.
» t=0:.1:2*pi; y=sin(t);
» stem(t,y);
» figure, stairs(t,y)
stem stairs
Построение графиков в полярных координатах
polar(fi,ro) – строит график в полярных координатах fi = f(ro), ro – в радианах. Параметры линии можно задавать в дополнительном аргументе, варианты значений которого такие же, как и в функции plot;
» fi=0:pi/100:6*pi;
» ro=2*fi;
» polar(fi,ro)
compass(m,n) – изображает точку как вектор, направленный из начала координат;
compass(z) – то же самое, что и compass(real(z),imag(z)).
Вспомогательные функции графики
Команды создания графического окна (ГО):
figure – создать очередное ГО;
figure(n) – создать ГО с номером n (если оно уже существует, команда игнорируется).
Команды закрытия ГО:
close – закрыть текущее ГО (как правило, последнее из открытых);
close all – закрыть все открытые ГО;
close('name') – закрывает ГО с указанным именем.
Команды управления включением отображения координатной сетки:
grid on – включить отображение; grid off – выключить;
grid – изменить состояние (чередование).
Команды управления наложением графиков:
hold on – включить режим наложения графиков в текущем ГО;
hold off – выключить; hold – изменить состояние.
Функции выведения текстовой информации в ГО:
title(строка) – вывод заголовка в верхней части окна, строка центрируется;
xlabel(строка), ylabel(строка) – подписи осей;
text(m,n,строка) – выводит текст, определяемый строкой, рядом с точкой с координатами (m;n) в системе координат, определяемой предыдущими командами создания графиков в этом ГО;
subplot(m,n,i) – разбивает ГО на части (m<=n<=4). Как правило, функция предшествует команде построения графика (plot, bar или др.), который будет выведен в указанной части (i) ГО. Допускается краткая запись subplot(mni);
clf – команда очистки текущего ГО;
axis([xmin xmax ymin ymax]) – устанавливает указанные границы ГО по указанным измерениям (в данном случае – по горизонтали и по вертикали).