Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab BSU.doc
Скачиваний:
11
Добавлен:
08.09.2019
Размер:
1.04 Mб
Скачать

Разбиение графического окна.

Команда subplot, приведенная в предыдущем примере, используется для разбиения графического окна на подокна:

  • subplot(m,n,p) разбивает графическое окно на mxn подокон, при этом m – число подокон по горизонтали, этом n – число подокон по вертикали, p- номер подокна, в котором будет строиться текущий график (нумерация идет по строкам);

  • subplot(h) делает подокно с указателем h текущим;

  • subplot('Position', [left bottom width height]) создает подокно с заданными нормализованными координатами (в пределах от 0.0 до 1.0);

  • subplot(1,1,1) удаляет все подокна и возвращает графическое окно в обычное состояние.

Следует отметить, что для всех графиков возможна индивидуальная установка дополнительных объектов, например титульных надписей, надписей по осям и т.д.

Подписи к осям и заголовки.

Функции xlabel, ylabel и zlabel добавляют подписи к соответствующим осям, функция title добавляет заголовок в верхнюю часть окна, а функция text вставляет текст в любое место графика. Использование TEX представления позволяет применять греческие буквы, математические символы и различные шрифты. Следующий пример демонстрирует эти возможности.

x = -pi:.1:pi;

y = sin(x);

plot(x, y)

set(gca, 'XTick', -pi:pi/2:pi)

set(gca,'XTickLabel', {'-pi', '-pi/2', '0', 'pi/2', 'pi'})

xlabel('-\pi \leq \Theta \leq \pi')

ylabel('sin(\Theta)')

title('Plot of sin(\Theta)')

text(-pi/4, sin(-pi/4), '\leftarrow sin(-\pi\div4)',...

'HorizontalAlignment', 'left')

set(findobj(gca, 'Type', 'line', 'Color', [0 0 1]),...

'Color', 'red',...

'LineWidth',2)

В этом примере команда findobj находит описатель объекта line, созданного командой plot. Последний оператор set меняет цвет кривой с черного на красный и устанавливает толщину линии равной 2.

Графики в полярной системе координат.

В полярной системе координат любая точка представляется как конец радиус–вектора, исходящего из начала системы координат, имеющего длину и угол . Для построения графика используется команда polar:

t = 0:.01:2*pi;

polar(t, sin(2*t).*cos(2*t),'--r')

В данном примере оператор .* используется для декартового (почленного) умножения массивов.

Контурные графики и графики полей градиентов.

Контурные графики служат для представления на плоскости функции двух переменных вида z(x, y) с помощью линий равного уровня. Они получаются, если трехмерная поверхность пересекается рядом параллельных плоскостей. При этом контурный график представляет собой совокупность проекций линий пересечения на плоскость x, y.

Для построения контурных графиков используется команда contour:

  • contour(Z) строит график по данным матрицы Z c автоматическим заданием диапазонов изменения x и y;

  • contour(X, Y, Z) строит график по данным матрицы Z с указанием спецификаций для x и y;

  • contour(Z, N) и contour(X, Y, Z, N) строят контурные графики с явным заданием N линий равного уровня;

  • contour(Z, V) и contour(X, Y, Z, V) строят линии равного уровня для высот, указанных значениями элементов вектора V;

  • [C, h] = contour(...) возвращает контурную матрицу C и вектор указателей графических объектов. Команда clabel использует матрицу C для создания меток.

Для построения графиков полей градиента служит команда quiver:

  • quiver(u, v) строит векторы в равнорасположенных точках на плоскости (x, y), причем элементы массивов u и v указывают направление и размер векторов;

  • quiver(x, y, u, v) строит векторы в точках, задаваемых векторами x и y;

  • quiver(...,scale) автоматически масштабирует векторы, а затем вытягивает их в соответствии с коэффициентом scale.

Рассмотрим в качестве примера построение контурного графика и график поля градиентов для функции z=exp(-x*x-y*y):

[x y] = meshgrid(-2:.2:0,-2:.2:2);

z = x.*exp(-x.^2-y.^2);

[dx, dy] = gradient(z,.2,.2);

subplot(1, 2, 1);

[c h]=contour(x, y, z);

clabel(c, h, 'manual');

subplot(1, 2, 2);

quiver(x, y, dx, dy);

axis([-2 0 -2 2])

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]