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

Графика

MATLAB обладает широким набором графических средств, начиная от команд построения простых графиков функций одной переменной и кончая комбинированными и презентационными графиками с элементами анимации, а также средствами проектирования графического пользовательского интерфейса (GUI). Особое внимание в системе уделяется трехмерной графике с функциональной окраской отображаемых фигур и имитацией различных световых эффектов.

Команда plot.

Команда plot имеет различные формы, связанные с входными параметрами, например plot(y) создает кусочно–линейный график зависимости компонент вектора y от их индексов. Если задать два вектора в качестве аргументов, plot(x,y)создаст график зависимости y от x. Например, для построения графика функции sin(x) на отрезке от 0 до 2, надо выполнить всего три команды:

t = 0 : pi/100 : 2*pi;

y = sin(t);

plot(t, y)

Вызов функции plot с несколькими парами x-y создаст несколько кривых на одном графике. MATLAB автоматически присвоит каждой кривой свой цвет (если это не сделать самому). В дополнение к вектору y построим еще два набора данных и выведем все три кривые на одном графике:

y2 = sin(t – .25);

y3 = sin(t – .5);

plot(t, y, t, y2, t, y3);

Для идентификации каждой кривой можно применить команду legend:

legend('sin(x)','sin(x-.25)','sin(x-.5)')

Можно изменять цвет, стиль линий и маркеры линий следующим образом:

plot( x, y, ‘цвет_стиль_маркер’),

где цвет_стиль_маркер это 1-, 2-, 3- строковая константа, составленная из символа цвета, стиля линий и маркеров:

  • Символы цвета: ‘c’, ‘m’, ‘y’, ‘r’, ‘g’, ‘b’, ‘w’ и ‘k’ обозначают голубой, малиновый, желтый, красный, зеленый, синий, белый и черный цвета соответственно;

  • Символы типа линий: ‘ ‘ для сплошной, ‘––‘ для разрывной, ‘:’ для пунктирной, ‘–.’ для штрихпунктирной линий и ‘none’ для ее отсутствия;

  • Наиболее часто встречающиеся маркеры: ‘+’, ‘o’, ‘*’, и ‘x’.

Например, команда plot( x, y, ‘y:+’) строит желтый пунктирный график и помещает маркеры ‘+’ в каждую точку данных. Если определить только тип маркеров, но не указать стиль линий, MATLAB выведет на график только маркеры. Для вывода маркеров можно использовать разреженный набор данных, а для вывода кривых полный:

x1 = 0:pi/100:2*pi;

x2 = 0:pi/10:2*pi;

plot(x1, sin(x1), 'r:', x2, sin(x2), 'r+')

Графические объекты.

Графические средства MATLAB базируются на низкоуровневой графике, которая называется дескрипторной или описательной (Handle Graphics). MATLAB создает график, используя различные графические объекты, такие как линия, текст, поверхность и оси. Каждый объект имеет ряд свойств, которые контролируют его представление на экране. Например, объект «линия» (line) имеет такие свойства, как цвет, ширина, стиль, тип маркера и ряд других. Данный объект создается низкоуровневой командой line, которую используют команды высокого уровня, например plot.

Когда MATLAB создает графический объект, он назначает ему идентификатор (описатель). Этот описатель можно использовать для доступа к свойствам объекта. В качестве примера рассмотрим использование функции line для создания тени некоторой кривой. Вначале нарисуем график кривой sin(t) и сохраним ее описатель.

t = 0:pi/20:2*pi;

hline1 = plot(t, sin(t), 'k');

Затем добавим тень с помощью отступа по x координатам. Сделаем оттеняющую линию светло–серого цвета (значение свойства ‘Color’) и более толстую (значение свойства ‘LineWidth’), по сравнению с толщиной исходной линии.

hline2 = line(t+.08, sin(t), 'LineWidth', 4, 'Color', [.9 .9 .9]);

Наконец, выведем первую кривую на передний план.

set(gca, 'Children', [hline1 hline2]);

Команда set в данном примере служит для установки свойств графического объекта (текущих координатных осей, описатель которых возвращает команда gca). Команда get(name) выводит свойства объекта с заданным именем. Так, для вывода на экран всех свойств оттеняющей кривой линии следует выполнить команду get(hline2).

Последовательность графических команд можно записать в m-файл и выполнять записанный сценарий много раз.

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