Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Масштабирование осей и вывод на экран



Операции масштабирования осей выполняет операция axis. Рассмотрим варианты применения этой операции:

§ axis([xmin xmax ymin ymax]) устанавливает масштаб по осям x, y для активного графического окна;

§ axis([xmin xmax ymin ymax zmin zmax]) устанавливает масштаб по осям x, y, z для активного графического окна;

§ axis('auto') возвращает масштаб по осям к штатным значениям (принятым по умолчанию);

§ axis(axis) фиксирует текущие значения масштабов для последующих графиков, как если бы был включен режим hold;

§ axis('ij') перемещает начало отсчета в левый верхний угол, сохраняет положение осей и реализует отсчет по вертикальной оси из верхнего левого угла (матричная система координат);

§ axis('xy') возвращает декартову систему координат; начало отсчета находится в нижнем левом углу; ось x горизонтальна и размечается слева направо, ось y вертикальна и размечается снизу вверх.

§ axis('square') устанавливает одинаковый диапазон изменения переменных по осям;

§ axis('equal') устанавливает масштаб, который обеспечивает одинаковые расстояния между метками по осям x и y;

§ axis('image') устанавливает масштаб, который обеспечивает квадратные размеры пикселей;

§ axis('normal') восстанавливает полноразмерный масштаб, отменяя масштабы, установленные командами axis('square') и axis('equal');

§ axis('off') снимает с осей их обозначения и маркеры;

§ axis('on') восстанавливает на осях их обозначения и маркеры.

Команда hold on включает режим сохранения текущего графика и свойств объекта axes, так что последующие команды приведут к добавлению новых графиков в графическом окне. Команда hold off выключает режим сохранения графика. Команда hold реализует переключение от одного режима к другому.

3.5. Графика в полярных координатах

Для построения графиков функций в полярных координатах используется операция polar(t,r). Эта операция строит график в полярной системе координат, представляющий собой положение конца радиус-вектора с длиной r и углом t. Проиллюстрируем операцию polar примером.

Пример 3.3. Построить в полярных координатах график функции на интервале изменения t от 0 до .

%График в полярных координатах

t = 0:0.01:2*pi;

polar(t,sin(2*t).*cos(4*t))

Рис. 3.4 - График в полярных координатах

3.6. Построение столбиковых даграмм и гистограмм

Столбиковые диаграммы широко используются при отображении информации в различных предметных областях. Перечислим основные варианты использования функции построения столбиковых диаграмм bar:

§ bar(x,y) - строит столбиковый график элементов массива y в позициях, определенных вектором x, если x и y двумерные массивы одинакового размера, то столбцы строятся с надстройкой друг на друге (упорядочение осуществляется в порядке возрастания значений элементов вектора x);

§ bar(y) - строит график значений элементов одномерного массива y (этот вариант соответствует предыдущему случаю при x=1:n);

§ bar(x,y,width) или bar(y,width) – аналог двум предыдущим случаем при этом дополнительно указывается ширина столбца (при width>1 столбцы перекрываются, по умолчанию width=0.8).

Пример 3.4. Построить столбиковую диаграмму для заданного вектора.

%Столбиковая диаграмма

z=[1 3 5.4 6.1 1 2];

bar(z)

Рис. 3.5 - Столбиковая диаграмма

Функцию bar можно использовать со спецификацией sp (bar(x,y,sp)) по аналогии с функцией plot (обычно используется для указания цвета столбцов, а также при sp='stacked' столбцы строятся друг на друге). Существует также аналогичная функция barh, которая строит столбиковые дианраммы с горизонтальным расположением столбцов.

Пример 3.5. Построить столбиковую диаграмму с горизонтальным расположением столбцов.

%Столбиковая диаграмма (горизонтальная)

z=[1 3 5.4 6.1 1 2];

barh(z)

Рис. 3.6 - Столбиковая диаграмма

Функция гистограммы hist определяет число попаданий значений элементов вектора y в n интервалов с представлением этих чисел в виде столбиковой диаграммы. Основные варианты использования функции построения гистограм следующие:

§ z=hist(y) - возвращает вектор числа попаданий для 10 интервалов (если y матрица, то выдаются данные по числу попаданий в ее столбцы);

§ z=hist(y,n) - функция аналогична предыдущей (используется для числа попаданий равному n);

§ z=hist(y,x) - возвращает число попаданий для элементов вектора y с центральными отсчетами, заданными элементами вектора x;

§ [z,x]=hist(×) - возвращает числа попаданий в интервалы и данные о центрах интервалов.

Пример 3.6. Построить гистограмму для 10000 случайных чисел, распределенных по нормальному закону.

%Гистограмма

x = -2.5:0.1:2.5;

y = normrnd(0,1,10000,1); hist(y,x);

Рис. 3.7 - Гистограмма

3.7. Отображение трехмерных поверхностей

Операция plot3 являются трехмерными аналогами функции plot (plot3(x, y, z), где x, y, z - одномерные массивы одинакового размера, строит точки с координатами x(i), y(i), z(i) и соединяет их прямыми линиями). Операция plot3(X, Y, Z), где X, Y, Z - двумерные массивы одинакового размера, строит точки с координатами x(i,:), y(i,:), z(i,:) для каждого столбца и соединяет их прямыми линиями.

Операция plot3(x, y, z, sp) позволяет выделить график функции z(x, y), указав способ отображения линии, способ отображения точек, цвет линий и точек с помощью строковой переменной sp, которая может включать до трех символов в соответствии с таблицей 3.1. Операция plot3(x1, y1, z1, sp1, x2, y2, z2, sp2,...) позволяет объединить на одном графике несколько функций z1(x1, y1), z2(x2, y2),..., определив для каждой из них свой способ отображения. Обращение к plot3 вида plot3(x, y, z, sp1, x, y, z, sp2) позволяет для графика z(x, y) определить дополнительные свойства, для указания которых применения одной строковой переменной sp1 недостаточно, например, при задании разных цветов для линии и для точек на ней.

Функция [X, Y] = meshgrid(x, y) задает сетку на плоскости x-y в виде двумерных массивов X, Y, которые определяются одномерными массивами x и y. Строки массива X являются копиями вектора x, а столбцы - копиями вектора y. Формирование таких массивов упрощает вычисление функций двух переменных, позволяя применять операции над массивами. Функция [X, Y] = meshgrid(x) представляет собой упрощенную форму записи для функции [X, Y] = meshgrid(x, x).

Пример 3.7. Построить график функции в трехмерном пространстве с использованием операции plot3.

%График поверхности

[X, Y] = meshgrid([-10:0.5:10]);

Z =sin(sqrt(X.^2+Y.^2+1))./sqrt(X.^2+Y.^2+1);

plot3(X, Y, Z)

Рис. 3.8. График поверхности

Операция mesh(X, Y, Z, C) выводит на экран сетчатую поверхность для значений массива Z, определенных на множестве значений массивов X и Y. Цвета узлов поверхности задаются массивом C. Цвета ребер определяются свойством EdgeColor объекта surface. Можно задать одинаковый цвет для всех ребер, определив его в виде вектора [r g b] интенсивности трех цветов (красного, зеленого, синего). Если определить спецификацию none, то ребра не будут прорисовываться. Если определить спецификацию flat, то цвет ребер ячейки определяется цветом того узла, который был первым при обходе этой ячейки. Поскольку одни и те же ребра обходятся несколько раз, то цвета будут замещаться. Если определить спецификацию interp, то будет реализована линейная интерполяция цвета между вершинами ребра. Операция mesh(x, y, Z, C) выполняет ту же функцию, но вместо двумерных массивов X, Y использует их одномерные проекции, так что если length(x) = n, а length(y) = m, то [m, n] = size(Z). В этом случае узлы сетчатой поверхности определяются тройками {x(j), y(i), Z(i, j)}, где вектор x определяет столбцы массива Z, а y - строки. Операция meshc дополнительно строит проекцию линий постоянного уровня, meshz дополнительно строит плоскость отсчета на нулевом уровне, закрывая поверхность, лежащую ниже этого уровня.

Пример 3.8. Построить график функции в трехмерном пространстве с использованием операции mesh.

%График поверхности

[X, Y] = meshgrid([-10:0.5:10]);

Z =sin(sqrt(X.^2+Y.^2+1))./sqrt(X.^2+Y.^2+1);

mesh(X, Y, Z)

Рис. 3.9 - График поверхности

Операция surf(X, Y, Z, C) выводит на экран сетчатую поверхность для значений массива Z, определенных на множестве значений массивов X и Y(цвет ячейки определяется массивом C), а операция surf(X, Y, Z) работает аналогично предыдущей, где С=Z. Цвет в этом случае задается высотой ячейки поверхности. Операции surf и mesh дают достаточно наглядное представление поверхности, это видно из сравнения рис 3.5 и 3.6.

Более полное описание графических возможностей представления трехмерных поверхностей можно найти в [1].





Дата публикования: 2014-10-29; Прочитано: 671 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...