Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Курс «Программирование»
Лекция 5.
Построение 2D и 3D графиков.
Оформление графиков.
Преподаватель:
Лысенко Александр Юрьевич
Национальный исследовательский университет «МИЭТ». Институт Биомедицинских Систем
Организационная часть
• Допуск к лабораторной работе: тест в Moodle.
o Пропуск теста: -2 балла.
o Меньше 50% правильных ответов: -1 балл.
o В обоих случаях тест пересдаётся в устной форме.
• В случае, если студент не сдал л/р в течение двух занятий, то его
работа оценивается по загруженному в систему коду. При такой
форме сдачи снимается 3 балла.
• В пятой лабораторной работе будет оцениваться не только
выполнение задания, но и оформление фигур.
Слайд 2/25
Создание графического окна
Синтаксис:
figure;
figure(номер фигуры);
Слайд 3/25
Построение двумерного графика
Синтаксис:
plot(x, y);
Пример:
plot(1:10, 10:1);
plot(-pi:(2*pi/99):pi, sin(-pi:(2*pi/99):pi));
Слайд 4/25
Оформление графика
Заголовок:
title(‘Название’);
Подпись по оси x:
xlabel(‘Подпись’);
Подпись по оси y:
ylabel(‘Подпись’);
Слайд 5/25
Пример оформления графика
Код:
x = linspace(-pi, pi, 100); % -pi:((pi-(-pi))/99):pi
y = sin(x);
plot(x, y);
title(‘График функции y = sin(x)’);
xlabel(‘x’);
ylabel(‘y’);
Слайд 6/25
Смена шрифтов для элементов графика
Код:
x = linspace(-pi, pi, 100); % -pi:((pi-(-pi))/100):pi
y = sin(x);
plot(x, y);
title('График функции y = sin(x)', 'FontName', 'Times New Roman');
xlabel('x', 'FontName', 'Times New Roman');
ylabel('y', 'FontName', 'Times New Roman');
Слайд 7/25
Несколько функций на одном графике
В одном вызове plot:
plot(x1, y1, x2, y2, x3, y3, ...);
С помощью функции hold:
hold on;
plot(x1, y1);
plot(x2, y2);
plot(x3, y3, x4, y4);
Слайд 8/25
Стили линий
Синтаксис:
plot(x1, y1, ‘style’, ...);
Обозначение
Стиль
-
Сплошная линия
--
Пунктирная линия
:
Штриховая линия
-.
Штрих-пунктирная линия
Обозначение
Стиль
r
Красный
g
Зелёный
b
Синий
c
Голубой
m
Пурпурный
y
Жёлтый
k
Чёрный
w
Белый
Слайд 9/25
Стили маркеров
Синтаксис:
plot(x1, y1, ‘style’, ...);
Обозначение
Стиль
+
Плюсики
o
Кружки
*
Звёздочки
.
Точки
x
Крестики
s
Квадраты
d
Ромбы
^
Треугольник вверх
v
Треугольник вниз
<
Треугольник влево
>
Треугольник вправо
p
Пятиугольник
h
Шестиугольник
Слайд 10/25
Пример стилей линий
hold on;
plot(-10:10,
plot(-10:10,
plot(-10:10,
plot(-10:10,
plot(-10:10,
plot(-10:10,
ones(1,
ones(1,
ones(1,
ones(1,
ones(1,
ones(1,
21)
21)
21)
21)
21)
21)
*
*
*
*
*
*
5,
4,
3,
2,
1,
0,
'-r.');
'--g*');
'-.bp');
':co');
'm>');
'kv');
Слайд 11/25
Подписи графиков (legend)
Синтаксис:
legend(‘Подпись первого графика’, ‘подпись второго’, ...);
Пример:
legend('-r.', '--g*', '-.bp', ':co', 'm>', 'kv');
Слайд 12/25
Масштабирование графика
Синтаксис:
axis([xmin, xmax, ymin, ymax]);
axis(‘стиль’)
Пример:
axis([-11, 11, -1, 6]);
Стиль
Результат
normal
Стандартный режим
tight
Вписать график в прямоугольник без
пустого места
equal
Равное соотношение сторон
image
tight + equal
square
Вписать график в квадрат
fill
Растянуть график, заполнив всё
свободное место
vis3d
Заморозить аспектное соотношение
Слайд 13/25
Несколько графиков на одной фигуре
Синтаксис:
subplot(число строк, число столбцов, номер);
Пример:
subplot(3,
subplot(3,
subplot(3,
subplot(3,
3,
3,
1,
3,
1);
3);
2);
8);
Слайд 14/25
Трёхмерный график
Синтаксис:
surf(x, y, z);
mesh(x, y, z);
Рис. 1. График surf
Рис. 2. График mesh
Слайд 15/25
Режимы отрисовки трёхмерных графиков
Синтаксис:
shading режим
shading(‘режим’);
Режим
Результат
faceted
(по умолчанию)
Цвет грани постоянный.
Рёбра окрашены в чёрный цвет.
flat
Цвет грани постоянный.
Рёбра не отображаются.
interp
Цвет грани интерполируется.
Рёбра не отображаются.
Слайд 16/25
Открытие изображения
Синтаксис:
переменная = imread(‘путь к файлу’);
переменная = imread(‘путь к файлу’, ‘формат’);
Пример:
img1 = imread(‘C:/Users/Alex/1.jpg’);
img2 = imread(‘C:/Users/Alex/1.jpg’, ‘bmp’);
Слайд 17/25
Отображение изображения (imshow, imagesc)
Синтаксис:
imshow(переменная, []);
imagesc(переменная);
Рис. 1. Изображение imshow
Рис. 2. Изображение imagesc
Слайд 18/25
Шкала изображения
Синтаксис:
colorbar
Слайд 19/25
Цветовая карта изображения (colormap)
Синтаксис:
colormap карта
colormap(‘карта’);
Название карты
Карта
Jet
Summer
Winter
Autumn
Слайд 20/25
Сохранение фигуры
Синтаксис:
saveas(gcf, ‘имя файла’);
saveas(gca, ‘имя файла’);
Слайд 21/25
Закрытие окна (close)
Синтаксис:
close;
close(номер фигуры);
Слайд 22/25
Справочная
информация
Слайд 23/25
Список функций для графиков
Функция
Описание
Пример
figure
Создание нового окна
figure(2)
plot
Построение 2D графика
plot(x, y)
title
Добавление подписи к графику
xlabel
Добавление подписи к оси X
legend
Добавление легенды
axis
Масштабирование рисунка
subplot
Управление режимом отображения
нескольких графиков на одном окне
hold
Управление режимом добавления
нескольких графиков на один рисунок
surf
Построение 3D графика
surf(x, y, z)
mesh
Построение 3D графика
mesh(x, y, z)
shading
Управление режимом отображения 3D
графика
shading interp
colorbar
Добавление цветовой шкалы
colormap
Изменение цветовой карты
close
Закрыть окно
title(‘plot’)
xlabel(‘x’)
legend(‘sin(x)’)
axis tight
subplot(1, 3, 2);
hold on
colorbar
colormap winter
close(2)
Слайд 24/25
Список функций для изображений
Функция
Описание
Пример
imread
Загрузка изображения из файла
A = imread(‘img.png’)
imshow
Отображение изображения в чернобелой цветовой шкале
imshow(A, [])
imagesc
Отображение изображения с осями
imagesc(A)
saveas
Сохранение фигуры в файл
saveas(A, ‘img.png’)
imwrite
Сохранение переменной в файл
imwrite(A, ‘img.png’)
Слайд 25/25
Список использованных источников
1. Документация MatLab
https://www.mathworks.com/help/matlab/
2. Документация MatLab на русском языке
https://docs.exponenta.ru/R2019a/matlab/index.html
3. Википедия
https://ru.wikipedia.org/wiki/Цикл_(программирование)
4. Википедия
https://ru.wikipedia.org/wiki/Массив_(тип_данных)
Слайд 26/25