Создание графических приложений в среде MATLAB

Создание и управление размерами графического окна

Для создания графического окна служит команда figure.

Будем рассматривать три графических объекта

gcf – текущее графическое окно;

gca – текущие оси;

gco – текущий графический объект;

Для работы с этими объектами в существуют две функции: get и set. Функция get предназначена для получения значений свойств, а функция set предназначена для установки новых значений.

Простейший вид функции set

set(указатель на объект, ’свойство’, ’значение’).

Для получения свойств объекта необходимо ввести

get(указатель на объект, ’свойство’).

 

Создадим графическое окно с указателем имени и установим требуемые размеры этого окна.

HFig = figure

Положение графического окна и его размеры определяется функцией Position

get(gcf,'Position')

По умолчанию,

ans =

232 246 560 420

в пикселях.

Изменим

left = 232;

bottom = 258;

width = 560;

height = 260;

set(gcf,'Position', [left bottom width height], 'Color', 'w');

Создадим окно без меню команд

set(gcf,'Position', [left bottom width height], 'Color', 'w','MenuBar','none');

 

Для создания графического окна во весь экран выполним команды

% Нахождение размеров экрана

SCRsize =get(0, 'ScreenSize')

left = SCRsize(1)

bottom=SCRsize(2);

width=SCRsize(3);

% высота окна начинается с учетом ширины заголовка экрана

height=SCRsize(4)-19;

set(gcf,'Position', [left bottom width height], 'Menu', 'none','Color', 'w')

Если окон несколько, то команда

figure(HFig)

делает окно текущим.

Пример.

clear all

HFig1 = figure;

HFig2 = figure;

left = 232;

bottom = 258;

width = 560;

height = 260;

set(HFig1,'Position', [left bottom width height], 'Color', 'w');

figure(HFig2)

% Нахождение размеров экрана

SCRsize =get(0, 'ScreenSize')

left = SCRsize(1)

bottom=SCRsize(2);

width=SCRsize(3);

% высота окна начинается с учетом ширины заголовка экрана

height=SCRsize(4)-19;

set(gcf,'Position', [left bottom width height], 'Menu', 'none','Color', 'w')

Очистка текущего окна осуществляется командой clf.

Свойства осей

Построим графики двух функций.

clear all

HFig = figure;

left = 232;

bottom = 258;

width = 560;

height = 260;

set(HFig,'Position', [left bottom width height], 'Color', 'w');

x = -2*pi:pi/24:2*pi;

f = cos(x);

g = sin(x);

gr1 = plot(x,f);

grid

hold on

gr2 = plot(x,g);

Изменяем свойства осей

%убираем прямоугольную сетку вокрух оси

set(gca, 'Box', 'off')

%определяеи название шрифта и размер шрифта

set(gca, 'FontName','Times New Roman Cyr','FontSize',10)

%определяем пределы изменения осей

set(gca,'YLim', [-1.5 1.5], 'XLim', [-2*pi 2*pi])

xlabel('Ось {\itx} ')

ylabel('Ось {\ity}')

title('Графики функций sin({\itx}) и cos({\ity})', 'FontName','Courier')

Можно осям давать имя, например

hAxes1 = axes

set(hAxes1,..)

Очистка текущих осей осуществляется командой cla.

Свойства графика

set(gr1,'Color', 'b', 'LineWidth', 2, 'LineStyle', '--');

set(gr2,'Color', 'r', 'LineWidth', 2, 'LineStyle', '-.');

 

Добавим точки пересечения графиков:

 

X = [-7*pi/4 -3*pi/4 pi/4 5*pi/4]

Y = [sin(-7*pi/4) sin(-3*pi/4) sin(pi/4) sin(5*pi/4)]

 

gr7 = line([X(2) X(4)], [Y(2) Y(4)])

set(gr7, 'Color', 'm','LineWidth',1);

 

gr3 = line(X(1),Y(1));

set(gr3,'Marker', 'v', 'MarkerFaceColor','m', 'MarkerEdgeColor', 'm', 'Markersize', 8)

gr4 = line(X(2),Y(2));

set(gr4,'Marker', 'o', 'MarkerFaceColor','w', 'MarkerEdgeColor', 'k', 'Markersize', 8)

gr5 = line(X(3),Y(3));

set(gr5,'Marker', 's', 'MarkerFaceColor','k', 'MarkerEdgeColor', 'k', 'Markersize', 8)

gr6 = line(X(4),Y(4));

set(gr6,'Marker', '^', 'MarkerFaceColor','g', 'MarkerEdgeColor', 'g', 'Markersize', 8)

 

gr7 = line([X(2) X(4)], [Y(2) Y(4)])

set(gr7, 'Color', 'm','LineWidth',1);

 



php"; ?>