Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание графических приложений в среде 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);

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.