Скачиваний:
5
Добавлен:
01.10.2023
Размер:
266.33 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича»

_____________________________________________________________________________

Кафедра радиосистем и обработки сигналов

Дисциплина «Прикладные пакеты моделирования»

Лабораторная работа № 4

Средства графики

Выполнили: ст. гр. РТ-22

Проверил: к.т.н. доцент Леонюк А.С.

_____________________

Санкт-Петербург

2023

ВЫПОЛНЕНИЕ РАБОТЫ

  1. Построение двумерного графика

>> x=[0:pi/8:8*pi];

>> y=sin(x);

>> plot(x,y)

>> grid

>> xlabel('os"abciss')

  • Для вывода графика используется функция plot(_).

  • График выводится в окно Figure.  По умолчанию новый график выводится в то же окно, при этом предыдущий график автоматически удаляется.

  • Функции для нанесения координатной сетки и обозначения оси абсцисс: grid и xlabel(_).

  1. Построение нескольких двумерных графиков на одних координатных осях

>> y2=(sin(x))./x;

>> y3=0.5*cos(x);

>> hold on

>> plot(x,y,'r')

>> plot(x,y2,'g')

>> plot(x,y3,'b')

>> ylabel('axis y')

>> title('Functions y1 y2 y3')

>> legend('sin(x)','sin(x)/x','0.5cos(x)')

  • Команда, которая обеспечивает вывод нескольких графиков на одних координатных осях – hold on.

  • Разметка и названия осей сохраняются при добавлении новых графиков

  • Функция для обозначения оси ординат – ylabel(_)

Для вывода заголовка – title(_)

Для размещения легенды – legend(___)

  1. Построение независимых графиков в одном окне с его разбиением на отдельные поля

>> figure('Name','Graph2D')

>> subplot(3,1,1)

>> plot(x,y)

>> subplot(3,1,2)

>> plot(x,y2)

>> subplot(3,1,3)

>> plot(x,y3)

>> grid

>> subplot(3,1,2)

>> grid

>> subplot(3,1,1)

>> grid

>> xlabel('x')

>> subplot(3,1,2)

>> xlabel('x')

>> subplot(3,1,3)

>> xlabel('x')

>> ylabel('y')

>> subplot(3,1,2)

>> ylabel('y')

>> subplot(3,1,1)

>> ylabel('y')

>> title('Graph1')

>> subplot(3,1,2)

>> title('Graph2')

>> subplot(3,1,3)

>> title('Graph3')

  • Окно с заданным именем задается с помощью команды Figure(___).

  • Функция, которая позволяет строить несколько независимых графиков в одном графическом окне – subplot(__).

  1. Построение графика последовательности чисел

>> figure('Name','Sequence1')

>> stem(x,y2)

>> grid

>> figure('Name','Sequence2')

>> stem(x,y2,'fill','y','LineWidth',2,'MarkerSize',6,'MarkerEdgeColor','r','MarkerFaceColor','g')

>> grid

  • Функция для вывода последовательностей чисел – stem(_)

  • 'fill' — параметр, указывающий на закрашивание маркеров.

  • Параметры группы LineSpec определяют тип и цвет линии графика, а также вид маркеров. В функциях построения графиков значения параметров указываются в апострофах без разделяющих символов в произвольном порядке.

  1. Построение графиков в полулогарифмическом и логарифмическом масштабах

>> x1=logspace(0,4);

>> y4=sqrt(x1);

>> figure('name',' Logarithms axes','numbertitle','off')

>> subplot(3,1,1)

>> semilogx(x1,y4)

>> grid

>> subplot(3,1,2)

>> semilogy(x1,y4)

>> grid

>> subplot(3,1,3)

>> loglog(x1,y4)

>> grid

  • Диапазон по оси абсцисс в логарифмическом масштабе можно задавать с помощью функции: logspace(d1,d2[,n]) где: d1, d2 — начальное 10d1 и конечное 10d2 значения диапазона; n — количество точек в логарифмическом масштабе, по умолчанию равно 50

  • Функция, которая используется для вывода графика в логарифмическом масштабе по оси абсцисс – semilogx(_)

  • Функция, которая используется для вывода графика в логарифмическом масштабе по оси абсцисс и оси ординат – loglog(_)

  1. Построение гистограмм.

>> figure('name','Histogram','numbertitle','off')

>> y5=randn(1,1000);

>> hist(y5)

  • Функция, которая используется для построения гистограммы – hist(_).

  • Гистограмма отображает число попаданий значений элементов вектора y в интервалы, центры которых заданы элементами вектора x В отсутствии вектора x для значений элементов вектора y по умолчанию выбирается 10 интервалов, и гистограмма отображает число попаданий значений элементов вектора y в центры данных интервалов.

  • Гистограмма отображает плотность вероятности высотой столбцов, чем выше столбец – тем выше вероятность.

  1. Построение трехмерного графика.

>> figure('name','Graph3D','numbertitle','off')

>> x=[-pi:pi/32:pi];

>> y=[-pi:pi/32:pi];

>> [X,Y]=meshgrid(x,y);

>> Z=sin(X)+cos(Y);

>> mesh(Z,X,Y)

>> colormap('cool')

>> colorbar

>> xlabel('x')

>> ylabel('y')

>> zlabel('z')

  • Построение трехмерных графиков начинается с формирования сетки на плоскости XOY с помощью вспомогательных матриц X и Y по известным векторам x и y соответственно, где X — матрица, строки которой — копии вектора x, а Y — матрица, столбцы которой — копии вектора y. Матрицы X и Y должны иметь одинаковые размеры: количество строк каждой из них равно длине вектора y, а столбцов — длине вектора x. Матрицы X и Y формируются с помощью функции: [X,Y] = meshgrid(x,y)

  • Функции, которые используется для вывода графика:

  • plot3 - Трехмерные графики в виде двумерных линий

  • mesh - Трехмерные сетчатые графики (с автоматическим нанесением координатных сеток).

  • Surf - Трехмерные сетчатые графики с окрашиванием поверхности (с автоматическим нанесением координатных сеток).

  • Функция, которая используется для выбора палитры – colormap(_)

  • Команда, которая используется для вывода шкалы цветов – colorbar(_).

Задание на самостоятельную работу

1) Построение двумерного графика

>> x=[-2*pi:2*pi]

x =

-6.2832 -5.2832 -4.2832 -3.2832 -2.2832 -1.2832 -0.2832 0.7168 1.7168 2.7168 3.7168 4.7168 5.7168

>> y=x+sin(x);

>> plot(x,y)

>> plot(x,y)

>> xlabel('x')

>> ylabel('y')

>> title('MAMAGRAPH')

>> legend('MAMA')

2) Построение двумерных графиков в одном графическом окне на отдельных полях

>> figure

>> y1=sin(x);

>> subplot(3,1,1)

>> plot(x,y1)

>> subplot(3,1,2)

>> y2=sin(abs(x))

y2 =

-0.0000 -0.8415 -0.9093 -0.1411 0.7568 0.9589 0.2794 0.6570 0.9894 0.4121 -0.5440 -1.0000 -0.5366

>> plot(x,y2)

>> plot(x,y2,'r')

>> subplot(3,1,2)

>> subplot(3,1,3)

>> y3=abs(sin(abs(x)))

y3 =

0.0000 0.8415 0.9093 0.1411 0.7568 0.9589 0.2794 0.6570 0.9894 0.4121 0.5440 1.0000 0.5366

>> plot(x,y3)

>> plot(x,y3,'g')

3) Построение трехмерных графиков

>> x=[-pi:pi/32:pi];

y=[-pi:pi/32:pi];

[X,Y]=meshgrid(x,y);

Z=sin(X)+cos(Y);

mesh(Z,X,Y)

colormap('cool')

colorbar

>> subplot(3,1,1)

>> x=[-pi:pi/32:pi];

y=[-pi:pi/32:pi];

[X,Y]=meshgrid(x,y);

Z=sin(X)+cos(Y);

mesh(Z,X,Y)

colormap('cool')

colorbar

>> subplot(3,1,2)

>> x=[-pi:pi/32:pi];

y=[-pi:pi/32:pi];

[X,Y]=meshgrid(x,y);

Z=sin(X)+cos(Y);

plot3(Z,X,Y)

colormap('cool')

colorbar

>> subplot(3,1,3)

>> x=[-pi:pi/32:pi];

y=[-pi:pi/32:pi];

[X,Y]=meshgrid(x,y);

Z=sin(X)+cos(Y);

mesh(Z,X,Y)

colormap('hot')

colorbar

>> colormap('flag')

>> x=[-pi:pi/32:pi];

y=[-pi:pi/32:pi];

[X,Y]=meshgrid(x,y);

Z=sin(X)+cos(Y);

Вывод: Был изучен графический инструментарий MATLAB, также приобретены навыки построения двумерных и трехмерных графиков.

Соседние файлы в папке Лабораторные 2023г