Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Применение MATLAB для решения аналитических задач моделирования. Учебное пособие
.pdf
Поля структур
51
Окончание табл. 20
№
варианта
Предметная область
4
Любимый сериал. Ячейки содержат информацию об авторе сценария, актере в главной роли, количестве сезонов и т.д.
5
Любимый школьный предмет. Ячейки содержат информацию о
выдающихся ученых в данной области, названиях тем/разделов
дисциплины и т.д.
6
Любимый фильм. Ячейки содержат информацию об авторе сценария, кинокомпании, жанре и т.д.
7
Любимая книга. Ячейки содержат информацию об издательстве,
авторе, жанре и т.д.
8
Любимый сериал. Ячейки содержат информацию об авторе сценария, актере в главной роли, количестве сезонов и т.д.
9
Любимый город. Ячейки содержат информацию о годе основания,
первом названии, достопримечательностях и т.д.
10
Любимый фильм. Ячейки содержат информацию об авторе сценария, кинокомпании, жанре и т.д.

Применение Matlab для решения аналитических задач моделирования
52
ГРАФИЧЕСКИЕ ОБЪЕКТЫ
Система Matlab позволяет не только производить вычисления, но и
выводить их результаты в форме двумерных и трехмерных графиков.
Графическое представление векторов и матриц позволяет упростить процесс анализа, выявить тенденции изменения данных и т.д. Мощная графическая подсистема позволяет работать как с терминалом, так и создавать
графику для презентаций. Различные источники выделяют высокий и
низкий уровни визуализации.
Для функции одной переменной типа у(х) используют графики в
декартовой системе координат. Встроенные возможности Matlab позволяют строить линейные, логарифмические, полулогарифмические, полярные графики. С помощью графических команд высокого уровня для каждого типа графиков можно настроить масштаб, цвет осей, разнообразные
типы точек и линий.
Низкоуровневый интерфейс позволяет поставить в соответствие
графическим объектам их дескрипторы. В роли графического редактора в
системе Matlab выступает Property Editor. Используя дескрипторную графику, вы можете создавать меню, кнопки вызова, текстовые панели и другие объекты графического интерфейса.
Рисунок «Figure 1» включает графическое окно, оси координат и
график. Информация об этих объектах хранится в памяти программы, для
всех объектов определены поля данных, которые влияют на его отображение на экране. Доступ к полям данных устанавливается по указателям.
Чтобы узнать какие поля объекта hf доступны, в командном окне вводится
команда set(hf). Данная команда выводит на экран все доступные поля
объекта hf и их возможные стандартные значения. Команда set нечувствительна к регистру, которым набирается имя поля.
Чтобы получить текущее значение какого-либо поля объекта, нужно ввести в командной строке команду get. Посмотреть значения всех полей позволяет команда get(hf).
Цвет в Matlab формируется на основе данных в вектор-строке из
трех чисел, определяющих интенсивность красного, зеленого и синего
цветов соответственно. Например, в табл. 21 приведен фрагмент программы для задания окна желтого цвета.

Графические объекты
53
Таблица 21
Пример задания цвета окна
hf=figure(1);
set(hf,'Position',[50 50 500 200],...
'Color',[1 1 0],
'Name',
'yellow window');
– открывает графическое окно
– выводит на экран расположение и размер
осей координат. Значение поля задается
вектор-строкой из четырех чисел [x y w h],
где x, y – координаты левого нижнего угла, а
w, h – ширина и высота осей координат
Визуализация данных в формате графиков является эффективным
способом повышения их понимания. MATLAB предоставляет возможности создания двумерной и трехмерной графики начиная с версии 4.0.
В состав Matlab входит мощная графическая подсистема с поддержкой
различных вариантов вывода результатов: от экранов терминала до презентационной графики.
Элементарные графические функции системы MATLAB обеспечивают возможность построения и последующей печати различных графиков: линейных, логарифмических, полулогарифмических, полярных. Для
каждого графика доступны варианты именования осей и масштабирования сетки.
Таким образом, для каждого графика в системе Matlab можно задать
имя, применить обозначение осей и масштабную сетку. Для работы со
шрифтами используются Fontname, FontUnits и FontSize, которые позволяют задать название, единицы и размер шрифта соответственно (табл. 22).
Таблица 22
Настройки графика
Опция
Описание
Plotting plot(x,y,LineSpec) Line
styles: -, --, :, -. Markers: +, o, *, .,
x, s, d
Цвета: r, g, b, c, m, y, k, w
График y vs. x (LineSpec – опция) LineSpec
is a комбинация стиля линий, методики
цветов, записанная в строку. Пример:
"– r" = красная сплошная линия без меток
title("Title")
Задает имя графика
legend("1st", "2nd")
Добавляет легенду для осей x/y/z
label("label")
Добавляет пометки x/y/z для соответствующих осей

Применение Matlab для решения аналитических задач моделирования
54
Окончание табл. 22
Опция
Описание
axis(lim), axis style
Задает масштаб и стиль осей
text(x,y,"txt")
Добавляет текст
grid on/off
Показывает / скрывает сетку
hold on/off
Сохраняет текущий график при добавлении новых
subplot(m,n,p), tiledlayout(m,n)
Создает оси
yyaxis left/right
Добавляет вторую ось по Y
figure
Создает окно для графика
gcf, gca
Выделяет текущий график / оси
clf
Очищает текущий график
close all
Закрывает все открытые графики
Двумерные графики
Команда PLOT создает двумерный график в линейном масштабе.
Это означает, что оси будут масштабироваться линейно.
Для масштабирования в логарифмическом масштабе в создании
графика используют команду LOGLOG. Если по заданию требуется, чтобы одна из осей была масштабируема линейно, а другая имела логарифмический масштаб, используется команда SEMILOG. Ось, которая должна быть задана логарифмически, записывается после имени команды. Результаты применения SEMILOGX и SEMILOGY – график в полулогарифмическом масштабе представлен ниже на рис. 24.
Команда POLAR строит график, заданный в полярных координатах.
Синтаксис команды Plot приведен в табл. 23.
Таблица 23
Синтаксис команды Plot
Функция
Назначение
plot(a)
График элементов одномерного массива a
plot(a, b)
График элементов двумерного массива
plot(a, b, c)
График элементов трехмерного массива
plot(a1, b1, c1, a2, b2, c2, ...)
График элементов многомерного массива

Графические объекты
55
Рис. 24. График в полулогарифмическом масштабе
Первая команда plot(a) строит график в зависимости от номера элемента; для комплексных элементов массива строится график plot(real(a),
imag(a)). Если A представляет собой двумерный действительный массив,
то графики строятся для столбцов; в случае сложных элементов их мнимые части не учитываются.
Команде plot(a,b) соответствует построение обычной функции, когда одномерный массив b соответствует значениям аргумента, а одномерный массив a соответствует значениям функции. Когда один из массивов
A или B или оба двумерные, реализуются следующие конструкции:
• если массив A двумерный, а массив b одномерный, то графы
строятся для столбцов массива A в зависимости от элементов вектора b;
• если массив B двумерный, а массив a одномерный, то строятся
графики столбцов массива B в зависимости от элементов вектора a;
• если оба массива A и B двумерные, то строятся зависимости
столбцов массива A от столбцов массива B.
• команда plot (a, b, c) позволяет выбрать график функции, задав
способ отображения линии, способ отображения точек, цвет линий и точек с помощью строковой переменной s, которая может включать до три
символа из табл. 24.

Применение Matlab для решения аналитических задач моделирования
56
Таблица 24
Выбор оформления линий на графике
Тип линии
Тип точки
Цвет
Непрерывная
-
Штриховая
--
Двойной пунктир
:
Штрих-пунктирная
-. Точка
.
Плюс
+
Звездочка
*
Кружок
o
Крестик
х
Желтый
y
Фиолетовый
m
Голубой
c
Красный
r
Зеленый
g
Синий
b
Белый
w
Черный
k
Если цвет линии не указан, по умолчанию он выбирается из первых
шести цветов, от желтого до синего, циклически повторяющихся.
Команда plot (x1, y1, s1, x2, y2, s2, ...) позволяет объединить несколько функций y1 (x1), y2 (x2), ... на одном графике, определив для каждого
свой метод отображения. Вызов графических команд вида plot (x, y, s1, x,
y, s2) позволяет определить дополнительные свойства графика y(x), для
которых недостаточно использования одной строковой переменной s1,
например, при установке разных цветов для линии и для точек на ней.
В Matlab используются следующие ключевые слова для добавления
надписей и пояснений к графикам:
Title содержит заголовки для двух- и трехмерных графиков;
Xlabel, Ylabel, Zlabel используется для обозначения осей;
Clabel обозначает маркировку линий уровня;
Text добавляет текст к графику;
Legend включает пояснения (легенду) к графику;
Colorbar позволяет редактировать цветовую палитру.
Раздел специальной графики включает графические команды и
функции для построения гистограмм, векторов и сложных элементов,
отображения дискретных последовательностей данных и траекторий движения как для 2D, так и для 3D-графики. Этот раздел получил дальнейшее
развитие в версии системы MATLAB 5.0, где улучшена и значительно
расширена специальная графика.

Графические объекты
57
Bar строит столбцовые диаграммы
Errorbar создает график с указанием интервала погрешности.
Hist используется для построения гистограмм.
Stem строит дискретные графики.
Stairs – ступенчатые графики.
Rose создает гистограмму в полярных координатах.
Compass, Feather создают графики векторов.
Fill используется для закраски многоугольников.
Slice строит сечение функции от трех переменных.
Waterfall создает трехмерную поверхность.
Viewmtx вычисляет матрицу управления углом просмотра.
View используется для управления положением точки просмотра.
Команда bar(a) создает гистограмму с одной полосой для каждого
элемента в a. Если a – матрица размером m на n, то bar создает m групп из
n столбцов. Например, ввод в командной строке следующего кода:
a = [25 15 105 20 75 150 120 35 250 60];
bar(a)
позволит создать гистограмму следующего вида (рис. 25).
Рис. 25. Гистограмма в Matlab

Применение Matlab для решения аналитических задач моделирования
58
Для создания нестандартных графиков и диаграмм Matlab предо-
ставляет дополнительные надстройки для скачивания. Например, набор
инструментов для разработки диаграмм Chart Development Toolbox упрощает создание специализированных диаграмм с помощью объектноориентированного программирования MATLAB. Разработка и реализация
диаграммы одновременно предоставляет удобный API для конечных
пользователей и избавляет пользователя от необходимости манипулировать низкоуровневыми графическими объектами.
Набор инструментов для разработки диаграмм содержит готовые
примеры пользовательских диаграмм MATLAB, а также приложениекаталог для просмотра доступных диаграмм. Пользователь может проверить исходный код, используемый для каждой диаграммы, изучить функции и функции каждой диаграммы и запустить примеры Live Script, демонстрирующие использование каждой диаграммы, а с помощью раздела
документации освоить создание собственных диаграмм.
Лабораторная работа № 7.
Функция plot
Постройте график функции, соответствующий номеру варианта из
табл. 25. Установите тип и цвет осей координат. Добавьте легенду и имя
графика. График сохраните в файл с расширением fig.
Таблица 25
Варианты заданий для лабораторной работы № 7
№
варианта
Функция
Оформление
Тип линий
1
f =4*sin(x);
r = cos(2*x);
в полярных координатах
Черная штрихпунктирная линия
2
f = log(0.5*x);
g = sin(log(x));
в логарифмическом
масштабе по оси y
синяя точечная линия
3
f1 = x.^ –5;
в полярных координатах
красная точечная линия
4
f =2*sin(x);
r = cos(x);
в логарифмическом
масштабе по оси х
красная пунктирная
линия
5
f1 = x.^ –2;
в полярных координатах
зеленая штрихпунктирная линия

Графические объекты
59
Окончание табл. 25
№
варианта
Функция
Оформление
Тип линий
6
x = 0:0.2:2*pi;
y = sin(x);
в полярных координатах
синяя сплошная линия
7
f = log(2*x);
r = cos(2*x);
в логарифмическом
масштабе по оси х
красная точечная линия
8
f2 = =100*(x).^4;
в логарифмическом
масштабе по оси у
черная
штрих-пунктирная
линия
9
f = =factorial(х);
в полярных координатах
желтая штриховая линия
10
x = 0:0.1:4*pi;
y = cos(x);
в логарифмическом
масштабе по оси х
зеленая штрихпунктирная линия

Применение Matlab для решения аналитических задач моделирования
60
ТРЕХМЕРНЫЕ ГРАФИКИ
MATLAB предоставляет несколько команд и функций для постро-
ения трехмерных графиков. Значения элементов числового массива рассматриваются как z-координаты точек над плоскостью, определяемой координатами x и y.
Есть несколько способов соединения этих точек. Первый из них –
соединение точек сечения (функция plot3), второй – построение сетчатых поверхностей (функции mesh и surf). Функция plot3 работает аналогично функции plot и формирует в пространстве линии по трем заданным векторам.
Второй способ построения трехмерных графиков в среде Matlab –
это использовать приведенные выше функции mesh и surf, различающиеся
степенью гибкости в настройках.
Поверхность, визуализируемая с помощью функции mesh, представляет собой сетчатую поверхность, ячейки которой имеют цвет фона, а
их границы могут иметь цвет, который определяется свойством EdgeColor
графического объекта поверхности.
Поверхность, построенная с помощью функции surf, представляет
собой сетчатую поверхность, которой можно задать цвет не только границы, но и ячейки; последний управляется свойством FaceColor графического объекта поверхности.
Перед построением графика функции двух переменных область построения разделяется с помощью функции meshgrid, эта же функция позволяет задать значения в узлах. График поверхности строится с помощью
функций mesh (X, Y, Z) или surf (X, Y,Z). Функция mesh позволяет построить сетчатую поверхность с ячейками под цвет фона. С помощью
свойства EdgeColor объекта surface можно задать цвет границ. Функция
surf позволяет построить сетчатую поверхность, для которой можно задать цвета границ и ячеек. Цвета ячеек задаются с помощью свойства
FaceColor объекта surface.
Для подписей осей координат в командной строке вводятся функции xlabel(text), ylabel(text), zlabel(text).
Значения элементов числового массива рассматриваются как
z-координаты точек над плоскостью, определяемой координатами x и y.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
