ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича»
_____________________________________________________________________________
Кафедра радиосистем и обработки сигналов
Дисциплина «Прикладные пакеты моделирования»
Лабораторная работа №4
Средства графики
Выполнили: ст. гр.
Проверил: А.С. Леонюк
Санкт-Петербург
>> x=0:pi/8:8*pi;
>> y1=sin(x);
>> plot(x,y1)
>> grid
>> xlabel('x')
Пояснение:
• Какая функция используется для вывода графика Для вывода графика в линейном масштабе, между соседними точками, которых автоматически выполняется линейная интерполяция используется функция plot
• В какое окно выводится график
Текущий график выводится в текущее графическое окно Figure, первый — в окно Figure 1. По умолчанию новый график выводится в то же окно, при этом предыдущий график автоматически удаляется.
• какие функции используются для нанесения координатной сетки и обозначения оси абсцисс Функции grid and xlabel('<text>')
>> y2=sin(x)./x;
>> y3=0.5*cos(x);
>> hold on
>> plot(x,y2,'r')
>> plot(x,y3,'m')
>> ylabel('axis y')
>> title('Functions y1 y2 y3')
>> legend('sin(x)', 'sin(x)/x', '0.5cos(x)')
Пояснение:
• Какая команда обеспечивает вывод нескольких графиков на одних координатных осях Вывод в текущее графическое окно нескольких графиков выполняется по команде hold on
• Какая функция используется для вывода графиков
Для вывода графиков используется функция plot
• сохраняется ли координатная сетка и обозначение оси абсцисс при выводе следующих графиков в то же окно
Да, они сохраняются.
• Какие функции используются для обозначения оси ординат, вывода заголовка и размещения легенды Для обозначения оси ординат используется функция ylabel('<text>');
Вывод заголовка-title('<text>');
Размещение легенды-legend('legend1','legend2',...);
>> figure('Name','Graph2D','NumberTitle','off')
>> subplot(3,1,1)
>> plot(x,y1)
>> grid
>> xlabel('x')
>> ylabel('y')
>> title('sin(x)')
>> subplot(3,1,2)
>> plot(x,y2)
>> grid
>> xlabel('x')
>> ylabel('y')
>> title('sin(x)/x')
>> subplot(3,1,3)
>> plot(x,y3)
>> grid
>> xlabel('x')
>> ylabel('y')
>> title('0.5cos(x)')
Пояснение:
• Как создается окно с заданным именем Используя функцию figure('Name','Имя окна', 'NumberTitle', 'off')
• Какая функция позволяет строить несколько независимых графиков в одном графическом окне Построить несколько независимых графиков в одном графическом окне позволяет функция subplot(m,n,p)
>> figure('Name','Sequencel','NumberTitle','off')
>> stem(x,y2)
>> grid
>> figure('Name','Sequence2','NumberTitle','off')
>>stem(x,y2,'r','LineWidth',2,'MarkerSize',6,'MarkerEdgeColor','m','MarkerFaceColor','c')
>> grid
Пояснение:
• Какая функция используется для вывода последовательностей чисел? Для вывода последовательностей используется функция stem
• Какой параметр этой функции отвечает за закрашивание маркеров графическом окне? Для закрашивания маркеров используется параметр MarkerFaceColor
• Как устанавливаются параметры управления? Параметры управления группы LineSpec в апострофах без разделяющих символов, параметры управления группы PropertyName представлены четырьмя разновидностями со следующими стандартными именами, задаваемыми в апострофах: LineWidth, MarkerEdgeColor, MarkerFaceColor, MarkerSize
>> logspace(0,4);
>> y4=sqrt(x);
>> figure('Name','Logarithms axes','NumberTitle','off')
>> subplot(2,1,1)
>> semilogx(x,y4)
>> grid
>> subplot(2,1,2)
>> loglog(x,y4)
>> grid
Пояснение:
•Как диапазон значений задается с помощью функции logspace Диапазон по оси абсцисс в логарифмическом масштабе можно задавать с помощью функции logspace(d1,d2{,n}), где d1 – начальное, а d2 – конечное значение диапазона
• Какой какая функция используется для вывода графика в логарифмическом масштабе по оси абсцисс semilogx- для построения графиков в линейном масштабе по оси абсцисс и логарифмическом — по оси ординат
• Какая функция используется для вывода графика в логарифмическом масштабе по осям абсцисс и ординат loglog-для построения графиков в линейном масштабе по оси абсцисс и логарифмическом — по оси ординат
6. Построение гистограмм.
>> y5=randn(1,1000);
>> figure('Name','Histogram','NumberTitle','off')
>> hist(y5)
Пояснение:
• Какая функция используется для построения гистограммы Для построения гистограммы используется функция hist
• Что отображает гистограмма Гистограмма отображает распределение отдельных измерений параметров изделия или процесса.
7. Построение трехмерного графика. >> [X,Y]=meshgrid(-pi:pi/32:pi);
>>Z=sin(X)+cos(Y);
>>figure('Name','Graph3D','NumberTitle','off')
>>mesh(X,Y,Z)
>>xlabel('axis x')
>>ylabel('axis y')
>>zlabel('axis z')
>>colormap('cool')
>>colorbar
Пояснение:
•
С чего начинается построение трехмерного
графика; какая функция для
этого
используется
Построение трехмерных
графиков начинается с формирования
сетки на
плоскости XOY, используется
функция [X,Y]=meshgrid(x,y)
• Какая функция используется для вывода графика Функция mesh или plot3 используется для вывода графика
• Какая функция используется для выбора палитры Функция colormap используется для выбора палитры
• Какая команда используется для вывода шкалы цветов Функция colorbar используется для вывода шкалы цветов
Самостоятельная работа:
1С. Построение двумерного графика
>> x=-2*pi:2*pi;
>> y=x+sin(x);
>> plot(x,y)
>> title('график')
>> legend('x')
>> grid
>> xlabel('x');
>> ylabel('y')
2С. Построение двумерных графиков на одних координатных осях.
>>y = 5*sin(x);
>>y1 = 5*x+2;
>>plot(x,y);
>>hold on;
>>plot(x,y1);
>>legend('y1 =5*x+2',’y=5*sin(x)’);
3С.Построение двумерных графиков в одном графическом окне на отдельных полях.
x = -2*pi:2*pi;
y1=sin(x);
y2=sin(abs(x));
y3=abs(sin(abs(x)));
hold on;
subplot(2,3,1);plot(x,y1);title('Functions y1');grid;ylabel('y');xlabel('x');
subplot(2,3,2);plot(x,y2);title('Functions y2');grid;ylabel('y');xlabel('x');
subplot(2,3,3);plot(x,y3);title('Functions y3');grid;ylabel('y');xlabel('x');
4C. Построение трехмерных графиков
>>[x,y] = meshgrid(-pi:pi/32:pi);
>>z=sin(x)+cos(y);
>>plot3(x,y,z);
>>grid;
>>colormap('hsv');
>>xlabel('x');
>>ylabel('y');
>>zlabel('z');
>>colorbar;
>>figure('Name','Graph3D','NumberTitle','off');
>>[x,y] = meshgrid(-pi:pi/32:pi);
>>z=sin(x)+cos(y);
>>mesh(x,y,z);
>>colormap('cool');
>>xlabel('x');
>>ylabel('y');
>>zlabel('z');
>>colorbar;
>>figure('Name','surf','NumberTitle','off');
>> [x,y] = meshgrid(-pi:pi/32:pi);
>>z=sin(x)+cos(y);
>>surf(x,y,z);
>>xlabel('x');
>>ylabel('y');
>>zlabel('z');
>>colorbar;
Контрольный вопросы:
1.В какое графическое окно выводится график по умолчанию?
Текущий график выводится в текущее графическое окно Figure, первый — в окно Figure 1. По умолчанию новый график выводится в то же окно, при этом предыдущий график автоматически удаляется.
2 . Как вывести график в новое графическое окно?
Вывод графика в отдельном графическом окне, имя которого присваивается пользователем, выполняется с помощью функции: figure('Name','<Имя графика>','NumberTitle','off')
3. Как вывести несколько графиков на одних координатных осях?
Вывод в текущее графическое окно Figure нескольких графиков на одних координатных осях выполняется по команде: hold on которая ставится перед новой функцией построения графика. 4. Как удалить графики перед выводом нового графика в то же графическое окно?
Удаление из текущего графического окна Figure всех предыдущих графиков перед выводом нового графика выполняется по команде: hold off 5. Как вывести несколько независимых графиков в одном графическом окне с его разбиением на отдельные поля?
Разбиение текущего графического окна Figure на отдельные поля для вывода независимых графиков выполняется с помощью функции: subplot(m,n,p) где: m n — размер матрицы графического окна: m строк и n столбцов; p — порядковый номер поля выводимого графика, считая по строкам слева направо. 6. Какие средства оформления графиков используются в MATLAB?
grid Нанесение координатной сетки с автоматическим выбором шага title('<текст>') Заголовок графика xlabel('<текст>') ylabel('<текст>') zlabel('<текст>') Обозначение осей графика x, y, z xlim([xmin xmax]) ylim([ymin ymax]) zlim([zmin zmax]) Установка границ (двухэлементным вектором) по осям x, y, z при выводе графика legend('legend1','legend2',...) Размещение легенды на автоматически выбираемом месте.При выводе нескольких графиков на одних осях их легенда отображается в порядке вывода графиков 7. Какие средства предусмотрены для установки типа, цвета и толщины линий?
LineWidth — толщина линии в пунктах (1 пункт = 1/75 дюйма ≈ 0,34 мм), задаваемая цифрой без апострофов, по умолчанию равна 0,5
Параметры группы LineSpec определяют тип и цвет линии графика, а также вид маркеров. Значения параметров данной группы представлены в табл. 4.3. В функциях построения графиков значения параметров указываются в апострофах без разделяющих символов в произвольном порядке. Например: stem(x,y,'-ms') Если параметры не указаны, то они выбираются автоматически 8. Какие средства предусмотрены для установки вида, размера и цвета маркеров?
MarkerEdgeColor — цвет маркера, задаваемый значением соответствующего параметра из табл. 4.3 в апострофах; MarkerFaceColor — цвет закрашивания маркера (для замкнутых маркеров типа кружок, квадрат и т. п.), задаваемый значением соответствующего параметра из табл. 4.3 в апострофах; MarkerSize — размер маркера в пунктах, задаваемый цифрой без апострофов, по умолчанию равен 7. 9. Какая функция используется для построения двумерных графиков в линейном масштабе с линейной интерполяцией между соседними значениями?
Графики в линейном масштабе с линейной интерполяцией между соседними значениями: plot(x,y[,<параметры управления>]) где: x, y — аргумент и функция (векторы или матрицы), согласованные по длине; <параметры управления> — необязательные параметры, управляющие свойствами графика (см. разд. 4.2.2).