Занятие_3.ppt
- Количество слайдов: 51
Занятие 3 Введение в MATLAB
Статическая графика в MATLAB
Содержание занятия Статическая графика в MATLAB 1. Основные шаги при построении графиков 2. Команды управления видом области вывода графика 3. Гистограммы и диаграммы 4. Графики функций одной переменной 5. Графики функций двух переменных 6. Графики векторных полей 7. Оформление графиков (линии, подписи, сетка, поворот и пр. ) 8. Экспорт графиков в графические файлы и печать 9. ez-функции для построения графиков и функция fplot
Содержание занятия Статическая графика в MATLAB Для построения статической графики можно использовать: 1. Интерактивную среду для построения графиков 2. Команды, доступные в меню Workspace 3. Набор команд и функций внутри программы
1. Основные шаги при построении графиков
1. Основные шаги при построении графиков в среде MATLAB (некоторые шаги могут быть пропущены): 1. Подготовка (формирование) данных для отображения 2. Выбор графического окна, области построения графика, задание позиции и величины области построения графика 3. Вызов элементарных функций построения графика 4. Задание параметров отображения линий и точек (маркеров) 5. Задание параметров области построения графика: пределы, сетка, маркеры на осях 6. Подписывание графика, осей, линий, отсчётов (нанесение текстовых надписей) 7. Экспорт построенного графика в графический файл или печать
ЗАДАНИЕ 1. Запустите MATLAB 2. В пошаговом режиме выполните программу s 01_main_steps. m Для удобства сделайте маленьким размер окна редактора и сдвиньте окно от центра экрана Обратите внимание на последовательность и содержание основных шагов при построении графиков
2. Команды управления видом области вывода графика
2. Команды управления видом области вывода графика Для управления видом области вывода графики в MATLAB определены следующие основные команды: figure(f) % создать окно с номером f subplot(r, c, n) % задать область вывода (axis) графика на текущем окне close(f) close all % закрыть окно с номером f % закрыть все окна cla % (clear axis) очистить текущую область вывода графика clf % (clear figure) очистить текущее окно hold on hold off % включить режим "незатирания" предыдущего графика % отключить режим "незатирания" предыдущего графика
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 02_form_graphics_area. m Обратите внимание на использование команд управления видом области вывода графики Обратите особое внимание на использование команды subplot(r, c, n) r - число графиков по вертикали (число строк) c - число графиков по горизонтали (число столбцов) n - номер графика (сплошная нумерация слева-направо, сверху-вниз)
ЗАДАНИЕ 2. С помощью команд subplot постройте один и тот же график функции y=sin(x) на графическом окне с номером 10 следующим образом:
3. Гистограммы и диаграммы
3. Гистограммы и диаграммы Для построения гистограмм и диаграмм можно использовать следующие команды: bar % столбчатая диаграмма bar 3 % 3 D-вариант столбчатой диаграммы pie % круговая диаграмма (с процентными секторами) pie 3 % 3 D-вариант круговой диаграммы hist % гистограмма (сколько данных в какой диапазон попало) rose % круговая гистограмма распределения в полярных % координатах
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 03_bar_pie_hist_rose. m Обратите внимание на использование команд построения графиков (подробности в комментариях)
4. Графики функций одной переменной
4. Графики функций одной переменной Для построения двухмерных графиков функций одной переменной можно использовать следующие процедуры: plot % 2 D-график функции одной переменной plotyy % График с двумя разными осями y loglog % График с логарифмическим масштабом % по обоим осям semilogx % График с логарифмическим масштабом по оси x semilogy % График с логарифмическим масштабом по оси y
4. Графики функций одной переменной Для построения двухмерных графиков параметрических функций используют следующий подход: 1. Создают вектор значений параметрической переменной t 2. Вычисляют значения x(t), y(t) 3. Строят двухмерный график, например, plot(x, y)
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 04_2 d_plots. m Обратите внимание на использование команд построения графиков (подробности в комментариях) 2. В пошаговом режиме выполните программу s 05_2 d_plots_param. m
5. Графики функций двух переменных
5. Графики функций двух переменных Для того, чтобы построить трёхмерный график функции можно использовать: mesh % каркасная поверхность surf % поверхность, залитая цветом surfl % освещённая поверхность surfc % поверхность с линиями уровня на плоскости XY contour 3 % поверхность, состоящая из линий уровня plot 3 % график параметрической функции (линия)
5. Графики функций двух переменных Для того, чтобы построить плоский график функции двух переменных (контур) можно использовать: contour % контуры без заливки contourf % контуры с заливкой
5. Графики функций двух переменных Для того, чтобы построить трёхмерный график функции двух переменных с помощью одной из функций mesh, surfl, surfc, contour 3 необходимо: 1. Сгенерировать матрицы с координатами узлов сетки на прямоугольной области определения функции, например, посредством функции meshgrid: [ X , Y ] = meshgrid( -5 : 0. 1 : 5 , 0 : 0. 2 : 10 ); 2. Вычислить значения искомой функции в узлах сетки и записать полученные значения в матрицу: Z = myfunc( X , Y ); 3. Построить трёхмерный график, например, с помощью mesh: mesh( X , Y , Z ); 4. Нанести на график дополнительную информацию, задать положение наблюдателя
5. Графики функций двух переменных Для того, чтобы построить трёхмерный график параметрической функции одной переменной можно использовать функцию plot 3: 1. Создают вектор значений параметрической переменной t 2. Вычисляют значения x(t), y(t), z(t) 3. Строят график: plot 3(x, y, z)
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 06_3 d_plots. m Обратите внимание на использование команд построения графиков (подробности в комментариях)
6. Графики векторных полей
6. Графики векторных полей Для построения графиков векторных полей можно использовать: quiver % двухмерное поле векторов quiver 3 % трёхмерное поле векторов compass % "роза ветров" feather % последовательность векторов с началами на % горизонтальной оси
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 07_vector_plots. m Обратите внимание на использование команд построения графиков (подробности в комментариях)
7. Оформление графиков (линии, подписи, сетка, поворот и пр. )
7. Оформление графиков Управление стилем рисования линий на графиках plot, plot 3 plot(x, y, 'r') % 'r' - цвет 'r' - красный 'g' - зелёный 'b' - синий 'c' - голубой 'y' - жёлтый 'm' - сиреневый 'k' - черный 'w' - белый по умолчанию стили линий выбираются неповторяющимися
7. Оформление графиков Управление стилем рисования линий на графиках plot, plot 3 plot(x, y, 'o') % 'o' - тип маркеров (точки данных) '+' - крестики 'o' - кружочки '*' - звёздочки '. ' - точки 'x' - крестики (45 градусов) 's' - квадратики 'd' - ромбики '^' - треугольник (вверх) 'v' - треугольник (вниз) '>' - треугольник (вправо) '<' - треугольник (влево) 'p' - пятиконечные звёздочки 'h' - шестиконечные звёздочки
7. Оформление графиков Управление стилем рисования линий на графиках plot, plot 3 plot(x, y, ': ') % ': ' - тип линии '-' - сплошная линия '--' - штриховая линия ': ' - пунктирная линия '-. ' - штрих-пунктирная линия
7. Оформление графиков Управление стилем рисования линий на графиках plot, plot 3 Можно комбинировать: plot(x, y, '--pr'); % Один график (тип линии, маркер, цвет) plot(x 1, y 1, ': b', x 2, y 2, 'h'); % Сразу два графика на одних осях
7. Оформление графиков Управление стилем рисования линий на графиках plot, plot 3 Можно использовать стили, указывая названия параметров стилей явным образом: plot(x, y, 'Marker. Size', 15, 'Line. Width', 3); % размер маркера = 15, % толщина линии = 3 'Color' 'Line. Style' 'Line. Width' 'Marker. Edge. Color' 'Marker. Face. Color' 'Marker. Size' - цвет линий - тип линий - толщина линий - тип маркера - цвет контуров маркеров - цвет заливки маркеров - размер маркеров
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 08_line_properties. m Обратите внимание на использование команд управления внешним видом графиков и команд задания диапазонов отображения данных (подробности в комментариях)
7. Оформление графиков Функции для управления областью отображения данных на графике: grid on grid off % Включить отображение координатной сетки % Выключить отображение координатной сетки hold on hold off % Включить/выключить режим "наложения" % (новые данные не затирают предыдущие) axis on axis off % Включить/выключить отображение маркеров и % обозначений на координатных осях axis( [xmin xmax ymin ymax] ) axis( [xmin xmax ymin ymax zmin zmax] ) % Задать диапазоны % отображения данных xlim([xmin xmax]) ylim([ymin ymax]) zlim([ymin ymax]) % Задать диапазон только для оси X % Задать диапазон только для оси Y % Задать диапазон только для оси Z xlim, ylim, zlim % - возвращают текущие значения диапазонов
7. Оформление графиков Функции для управления осями координат и областью отображения данных на графике: axis auto axis tight axis manual % автомасштабирование координатных осей % подгоняет размер осей под данные % "заморозить" текущий масштаб осей (чтобы при % использовании hold on масштаб не менялся) axis normal axis equal axis square % автоподбор осей (по умолчанию) % одинаковое расстояние между метками осей % квадратная область построения + одинаковое % расстояние между метками осей axis image % при рисовании картинки делает пиксели % квадратными axis ij axis xy % матричная система координат (ось i-вниз, j-вправо) % декартова система координат (ось x-вверх, y-вправо)
7. Оформление графиков Для управления внешним видом 3 D-графиков можно использовать следующие функции: hidden on hidden off shading flat shading interp shading faceted % включить/выключить отображение невидимых % (скрытых) линий трёхмерного графика % поверхность без каркасных линий % плавная заливка поверхности цветом % сегментная заливка с линиями каркаса colorbar % задаёт распределение цветов по высотам colormap % задаёт цветовую палитру поверхности
7. Оформление графиков Для управления позицией наблюдателя при построении 3 D-графиков можно использовать следующую функцию: view(Az, El) % Положение наблюдателя в сферической системе % координат. Az - азимутальный угол (в градусах), % El - угол возвышения (в градусах)
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 09_axis_grid_view. m Обратите внимание на использование команд управления внешним видом графиков и команд задания диапазонов отображения данных (подробности в комментариях)
7. Оформление графиков В функциях добавления текстовых надписей на график (title, legend, xlabel, text и др. ) используются специальные правила набора формул и изменения свойств шрифта (формат Te. X). Например: '{ithello} world' 'I am {bfboss}' '{bfitwow!} oh!' hello world I am boss wow! oh! '{fontname{arial}fontsize{32}Big bug!} oops. . . ' 'x^{2}' 'f_5' x 2 f 5 Big bug! oops. . .
7. Оформление графиков Некоторые греческие символы в формате Te. X: 'alpha' 'beta' 'gamma' 'delta' 'epsilon' 'eta' 'theta' 'kappa' 'lambda' 'mu' 'nu' 'xi' 'rho' 'sigma' 'tau' a b g d e h q k l m n x r s t 'phi' 'chi' 'psi' 'omega' j c y o 'Gamma' 'Delta' 'Theta' 'Lambda' 'Phi' G D Q L F
7. Оформление графиков Некоторые специальные символы в формате Te. X: 'leq' 'geq' 'pm' 'propto' 'partial' 'leftrightarrow' 'leftarrow' 'rightarrow' 'downarrow' 'uparrow' ≤ ≥ ± ∞ ∂ ↔ ← → ↓ ↑
7. Оформление графиков Функции для добавления подписей к графику, осям: title % название графика xlabel ylabel zlabel % название оси X % название оси Y % название оси Z legend % добавление легенды (подписей наборов данных с % указанием типов соответствующих линий графика)
7. Оформление графиков Функция для добавления текстовой подписи на графике text(X, Y, 'string'); text(X, Y, Z, 'string');
ЗАДАНИЕ 1. В пошаговом режиме выполните программу s 10_legend_text. m Обратите внимание на использование языка Te. X
8. Экспорт графиков в графические файлы и печать
8. Экспорт графиков в графические файлы и печать Для того, чтобы распечатать график или экспортировать его в графический файл можно: 1. Воспользоваться соответствующими пунктами меню окна графического вывода (Figure) 2. Использовать в программе команду print: Например: print -dtiff -r 600 myplot 3. Выделить интересующую часть графического окна (Figure) посредством функции getframe, преобразовать эту часть (frame) в изображение (image) посредством функции frame 2 im, сохранить полученное изображение в графический файл функцией imwrite
ЗАДАНИЕ 1. Выполните программу s 11_print. m 2. Выполните программу s 12_getframe_imwrite. m
9. ez-функции для построения графиков и функция fplot
9. ez-функции для построения графиков и функция fplot Для построения графиков функций иногда бывает удобнее использовать специальные ("интеллектуальные") функции: ezplot 3 ezpolar ezmeshc ezsurfc ezcontourf fplot Функция, график которой необходимо построить задаётся либо в виде строки, содержащей математическое выражение, либо в виде строки, содержащей имя функции
ЗАДАНИЕ 1. Посредством системы помощи MATLAB самостоятельно познакомиться с функциями: ezplot 3 fplot
Занятие_3.ppt