- •Оглавление
- •Предисловие
- •Раздел 1. Основные сведения о среде программирования «matlab»
- •Глава 1. Вычисления в командном режиме
- •1.1. Простейшие математические операции в matlab
- •1.2. Переменные
- •1.3. Создание матриц
- •1.4. Доступ к элементам матриц
- •1.5. Операции с матрицами
- •1.6. Ввод, вывод и работа со строками
- •Глава 2. Построение графиков в matlab
- •2.1. Построение графика в виде двумерной линии
- •2.2. Оформление графиков
- •2.3. Построение трехмерных графиков
- •2.4. Построение линий уровня
- •2.5. Построение векторного поля
- •2.6. Отображение нескольких графиков в одном окне
- •Глава 3. Скрипты в matlab и управляющие конструкции
- •3.1. Создание и выполнение скриптов в matlab
- •3.2. Оператор for
- •3.3. Логические операции
- •3.4. Оператор if / elseif / else
- •3.5. Оператор while
- •3.6. Операторы break / continue
- •3.7. Оператор switch
- •3.8. Создание функций
- •Раздел 2. Краткие теоретические сведения и задания Тема 1. Векторный анализ
- •1.1. Элементы векторного анализа
- •Задания
- •Тема 2. Уравнения Максвелла (произвольная и гармоническая временная зависимость, статические, стационарные и квазистационарные поля)
- •2.1. Система уравнений электродинамики – уравнения Максвелла
- •2.2. Граничные условия. Принцип эквивалентности
- •Задания
- •Тема 3. Плоские волны
- •3.1. Явление дисперсии и групповая скорость
- •Задания
- •Тема 4. Граничные задачи, уравнения и методы
- •4.1. К классификации электромагнитных явлений
- •Задания
- •4.2. Метод конечных разностей
- •4.2.1. Конечно-разностная аппроксимация
- •4.2.2. Конечно-разностная аппроксимация уравнений Лапласа и Пуассона
- •4.2.3. Конечно-разностная аппроксимация для граничных узлов
- •Задания
- •Литература
2.2. Оформление графиков
В таблице 2.5 показаны некоторые функции, которые используются при оформлении графиков.
Таблица 2.5
clf |
Очистить окно фигуры от графиков |
grid on |
Включить отображение сетки |
grid off |
Выключить отображение сетки |
xlim |
Изменить отображаемые пределы по оси X |
ylim |
Изменить отображаемые пределы по оси Y |
title |
Добавить заголовок к графику |
xlabel |
Добавить подпись к оси X |
ylabel |
Добавить подпись к оси Y |
subplot |
Расположение нескольких графиков в одном окне |
axis |
Установка различных параметров осей (в том числе отображаемые пределы, масштаб, направление осей) |
text |
Добавить надпись на график |
legend |
Добавить легенду на график |
Продемонстрируем работу функций, показанных в таблице 2.5. Пусть сначала выводится график функции в интервале (результат показан на рисунке 2.8):
x = -50: 0.01: 50;
>> y = sin (x) ./ x;
>> plot (x, y)
Рис. 2.8.
Если затем выполнить команду grid on, то график примет вид, показанный на рисунке 2.9
Рис. 2.9.
Интервал изменения по осям можно изменять с помощью функций xlim, ylim (Рис. 2.10):
>> xlim ([-10, 10])
>> ylim ([-1, 2])
Рис. 2.10.
Функции xlim и ylim можно вызывать несколькими способами. Один из них, показанный в предыдущем примере, заключается в вызове этих функций и передаче им матрицы с двумя элементами: минимальным и максимальным значением по соответствующей оси. Для того, чтобы вернуть интервал о осям в свое первоначальное состояние, когда интервал подбирается таким образом, чтобы уместить все данные, в качестве параметров функции xlim и ylim нужно передать строку 'auto' (например, xlim('auto')).
После вызова функции title('График функции sinc(x)') над графиком появится заголовок (Рис. 2.11):
Рис. 2.11.
Следующий вызов функций xlabel и ylabel добавляет подписи к осям X и Y соответственно (Рис. 2.12).
>> xlabel ('X')
>> ylabel ('Y = sin(x) / x')
Рис. 2.12.
Для вывода текстовых надписей на график предназначена функция text, вызывать которую можно разными способами. Один из возможных синтаксисов применительно к двумерным графикам выглядит следующим образом:
text(x, y, 'string')
Здесь первые два параметра задают координаты левого верхнего угла надписи, а третий параметр – сам текст. Координаты задаются в единицах, отложенных по осям графика. Например, следующая команда добавляет надпись около вершины графика (результат показан на рисунке 2.13):
>> text (0.1, 1.1, '(0; 1)')
Рис. 2.13.
Для того, чтобы показать, чему соответствует каждая кривая на графике (особенно, если кривых несколько), на график добавляют легенду. В MATLAB для этого предназначена функция legend. Как и в случае других функций, у legend существует несколько способов ее вызова. Один из возможных вариантов создания легенды - это передать в функцию через запятую несколько строк, каждая из которых описывает кривую в порядке ее добавления на график. Количество передаваемых строк не должно превышать количество кривых, уже отображенных на графике. Использование функции legend продемонстрировано в следующем примере, результат показан на рисунке 2.14.
>> x = -10: 0.01: 10;
>> f1 = sin (x) ./ x;
>> f2 = sin (x * 2) ./ (x * 2);
>> f3 = sin (x / 2) ./ (x / 2);
>> plot (x, f1, '-', x, f2, ':', x, f3, 'k-.');
>> legend ('sin (x) / x', ...
'sin (x * 2) / (x * 2)', ...
'sin (x * 0.5) / (x * 0.5)')
Рис. 2.14.
В таблице 2.6 приведены некоторые другие способы использования функции legend, которые позволяют настраивать внешний вид легенды.
Таблица 2.6
legend ('boxon') |
Включить отображение рамки вокруг легенды |
legend ('boxoff') |
Выключить отображение рамки вокруг легенды |
legend ('show') |
Показать легенду |
legend ('hide') |
Скрыть легенду |
legend ('location', locationname) |
Изменить расположением легенды относительно графика. Возможные значения параметра 'locationname' приведены в таблице 2.7. |
legend('Orientation', orientationname) |
Изменить расположение элементов легенды. Если orientationname равно 'vertical' (значение по умолчанию), то элементы легенды располагаются вертикально в столбец (как показано на рисунке 2.14). Если orientationname равно 'horizontal', то элементы легенды располагаются горизонтально в строку. |
Таблица 2.7
Значение параметра orientationname |
Расположение легенды |
North |
Сверху внутри области графика |
South |
Снизу внутри области графика |
East |
Справа внутри области графика |
West |
Слева внутри области графика |
NorthEast |
Сверху справа внутри области графика |
NorthWest |
Сверху слева внутри области графика |
SouthEast |
Снизу справа внутри области графика |
SouthWest |
Снизу слева внутри области графика |
NorthOutside |
Сверху снаружи области графика |
SouthOutside |
Снизу снаружи области графика |
EastOutside |
Справа снаружи области графика |
WestOutside |
Слева снаружи области графика |
NorthEastOutside |
Сверху справа снаружи области графика |
NorthWestOutside |
Сверху слева снаружи области графика |
SouthEastOutside |
Снизу справа снаружи области графика |
SouthWestOutside |
Снизу слева снаружи области графика |
Best |
Расположение легенды внутри области графика подбирать автоматически, чтобы она как можно меньше накладывалась на график |
BestOutside |
Расположение легенды снаружи области графика подбирать автоматически |
На рисунке 2.15 а), б) показаны графики с различным расположением легенды.
legend ('Location', 'NorthWest')
а) |
legend ('Location','NorthWestOutside')
б) |
Рис. 2.15.