Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Применение MATLAB для решения аналитических задач моделирования. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Поля структур
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.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]