Графика в Matlab
План лекции
-
Создание двумерных графиков
-
Редактирование параметров графиков
-
Работа с несколькими графическими объектами
-
Построение трехмерных графиков
-
Внутренний редактор графического окна
Создание двумерных графиков
-
Команда plot служит для построения графиков функций в декартовой системе координат. Эта команда имеет ряд параметров, рассматриваемых ниже.
Создание двумерных графиков
-
plot (X, Y) — строит график функции у(х), координаты точек (х, у) которой берутся из векторов одинакового размера Y и X.
-
Если X или Y — матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы.
Создание двумерных графиков
Например, для построения графика функции y=sin(x) нужно задать
t = 0:pi/100:2*pi;
y = sin(t);
plot(t,y)
Создание двумерных графиков
-
Для построения графиков двух функций — sin(x) и cos(x), значения функции которых содержатся в векторах y1 и y2, а значения аргумента х хранятся в векторе x, нужно задать:
Создание двумерных графиков
-
х=[0 1 2 3 4 5];
-
y1=sin(x);y2=cos(x);
-
plot(x,y1,x,y2)
Создание двумерных графиков
-
Для того, чтобы кривая графика была плавной линией, вектор х нужно задать с помощью диапазона
-
х=0:0.1:5;
-
y1=sin(x);y2=cos(x);
-
plot(x,y1,x,y2)
-
Пример 1
Создание двумерных графиков
-
plot(Y) — строит график у(i), где значения у берутся из вектора Y, a i представляет собой индекс соответствующего элемента.
-
Если Y содержит комплексные элементы, то выполняется команда
-
plot (real (Y), imag(Y))
-
Во всех других случаях мнимая часть данных игнорируется.
Создание двумерных графиков
-
Пример использования команды plot(Y):
-
х=-2*pi:0.02*pi:2*pi;
-
y=sin(x)+i*cos(3*x);
-
plot(y)
График кусочно-непрерывной функции
-
xn=input('задайте xn');
-
xk=input('задайте xk');
-
dx=input('задайте dx');
-
x=xn; i=0;
-
while x<=xk
-
if x<1,
-
c=x^2;
График кусочно-непрерывной функции
-
else
-
if (x>5)&(x<=10) c=sqrt(x);
-
else c=x-1; end;end;
-
i=i+1;
График кусочно-непрерывной функции
-
X(i)=x; Y(i)=c;
-
x=x+dx;
-
end
-
plot(X,Y)
Редактирование параметров графиков
-
plot(X,Y,S) — аналогична команде plot(X,Y), но тип линии графика можно задавать с помощью строковой константы S.
-
Значениями константы S могут быть следующие символы.
Редактирование параметров графиков
-
рlot (X1, Y1, S1, Х2, Y2, S2, ХЗ, Y3, S3,...) — эта команда строит на одном графике ряд линий, представленных данными вида (X,Y,S), где X и Y — векторы или матрицы, a S — строки.
-
С помощью такой конструкции возможно построение, например, графика функции линией, цвет которой отличается от цвета узловых точек.
Редактирование параметров графиков
-
Рассмотрим пример построения графиков трех функций с различным стилем представления каждой из них:
-
x=-2*pi:0.1*pi:2*pi;
-
yl=sin(x);
-
y2=sin(x).^2;
-
y3=sin(x).^3:
-
plot(x,yl,'-m',x,y2,'-.+r‘,х,у3,'--ok')
-
Пример2
Редактирование параметров графиков
-
Часто возникает необходимость добавления текста в определенное место графика, например для обозначения той или иной кривой графика. Для этого используется команда text:
Редактирование параметров графиков
-
text(X,Y, 'string') — добавляет в двумерный график текст, заданный строковой константой 'string', так что начало текста расположено в точке с координатами (X, Y). Если X и Y заданы как одномерные массивы, то надпись помещается во все позиции [x(i) ,y(i)];
-
Например, последовательность команд
-
S='Таня';
-
text(0.2,0.5,S)
-
S='Ваня';
-
text(0.4,0.2,S,'Fontsize',44)
-
Выдает первый текст стандартным шрифтом (10), второй текст шрифтом 44
-
Пример 2
Редактирование параметров графиков
-
Команды grid позволяют задавать построение сетки или отменять это построение:
-
grid on — добавляет сетку к текущему графику;
-
grid off — отключает сетку;
-
grid — последовательно производит включение и отключение сетки.
Редактирование параметров графиков
-
Заголовок графика можно вывести с использованием команды title, например,
-
title(‘График результирующей функции’)
Редактирование параметров графиков
-
Наименования осей х и y можно вывести соответственно командами
-
xlabel и ylabel, например,
-
xlabel(‘время (сек)’)
-
ylabel(‘расстояние (м)’)
Редактирование параметров графиков
-
Идентификацию кривых графика (создание легенды) можно выполнить с использованием команды legend, например,
-
legend(‘функция’,’производная’)
-
Пример 3
Работа с несколькими графическими объектами
Для создания в графическом окне нескольких графических областей для вывода графиков применяется команда
subplot(m, n, p),
которая разбивает графическое окно на mn областей, где
Работа с несколькими графическими объектами
m – число областей по вертикали,
n - число областей по горизонтали,
p – номер области, в которую будет выводиться текущий график (области отсчитываются последовательно по строкам).
Работа с несколькими графическими объектами
-
Следующий пример иллюстрирует применение команды subplot:
-
х=-5:0.1:5;
-
subplot(2,2,1),plot(x,sin(x))
-
subplot(2,2,2),plot(sin(5*x),cos(2*x+0.2))
-
subplot(2,2,3), plot(x,sin(x)^2)
-
subplot(2,2,4), plot(x,sin(x)^3)
Работа с несколькими графическими объектами
-
Для перехода к имеющемуся окну с номером N или для открытия нового графического окна необходимо ввести команду figure (N), где N – номер активного окна
Построение трехмерных графиков
-
Для построения графиков в трехмерном пространстве можно использовать несколько команд, самой распространенной из которых является команда plot3
-
Если заданы три вектора x, y, z, то для построения кривой следует указать
-
plot3(x, y, z)
Построение трехмерных графиков
-
Если координаты точек графика расположены в матрице из трех столбцов, например, в матрице Z, то команда построения графика имеет вид:
-
plot3(Z)
Построение трехмерных графиков
-
Если на одном графике нужно отобразить две кривые, то нужно подготовить три матрицы X, Y, Z, в каждой из которых первый столбец содержит вектор значений соответствующей координаты для первой кривой, а второй столбец – для второй и построить график командой
-
plot3(X, Y, Z)
Построение трехмерных графиков
-
При построении трехмерных графиков можно использовать все элементы