Отчет по лабораторонй работе №4
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича»
_____________________________________________________________________________
Кафедра радиосистем и обработки сигналов
Дисциплина «Прикладные пакеты моделирования»
Лабораторная работа № 4
Средства графики
Цель работы
Изучить графический инструментарий MATLAB и овладеть навыками построения двумерных и трехмерных графиков.
ВЫПОЛНЕНИЕ РАБОТЫ
Построение двумерного графика.
>> x=0:pi/8:8*pi;
>> y1=sin(x);
>> plot(x,y1)
>> plot(x,y1)
>> grid
>> xlabel('x')
Пояснения
Функция plot.
Текущий график выводится в текущее графическое окно Figure, первый — в окно Figure 1. По умолчанию новый график выводится в то же окно, при этом предыдущий график автоматически удаляется.
Grid и xlabel('') .
Построение нескольких двумерных графиков на одних координатных осях.
>> y2=0.5*sin(x);
>> y3=0.5*cos(x);
>> hold on
>> plot(x,y1,'c')
>> plot(x,y3,'r')
>> plot(x,y2,'y')
>> legend('sin(x)','0.5*cos(x)','0.5*sin(x)')
>> title('Functions y1 y2 y3')
>> ylabel('axis y')
Пояснения
Вывод в текущее графическое окно Figure нескольких графиков на одних координатных осях выполняется по команде: hold on.
Функция plot.
Сохраняется.
Функция ylabel('') для вывода обозначения оси ординат, title('') для вывода заголовка, legend('legend1','legend2',…) для вывода легенды.
3. Построение независимых графиков в одном окне с его разбиением на отдельные поля.
>> figure('Name','Graph2D','NumberTitle','off')
>> subplot(3,1,1)
>> plot(x,y1)
>> grid
>> title('y1')
>> xlabel('x')
>> ylabel('y')
>> subplot(3,1,2)
>> plot(x,y2)
>> grid
>> title('y2')
>> xlabel('x')
>> ylabel('y')
>> subplot(3,1,3)
>> plot(x,y3)
>> grid
>> title('y3')
>> xlabel('x')
>> ylabel('y')
Пояснения
Вывод графика в отдельном графическом окне, имя которого присваивается пользователем, выполняется с помощью функции: figure('Name','','NumberTitle','off').
Разбиение текущего графического окна Figure на отдельные поля для вывода независимых графиков выполняется с помощью функции: subplot(m,n,p) где: m n — размер матрицы графического окна: m строк и n столбцов; p — порядковый номер поля выводимого графика, считая по строкам слева направо.
4. Построение графика последовательности чисел.
>> figure('Name','Sequence1','NumberTitle','off')
>> stem(x,y2,'-ms')
>> grid
>> figure('Name','Sequence2','NumberTitle','off')
>> stem(x,y2,'fill','-rs','MarkerSize',6,'LineWidth',2,'MarkerEdgeColor','g','MarkerFaceColor','y')
>> grid
Пояснения
Функция stem выводит графики последовательностей чисел.
'fill' — необязательный параметр, указывающий на закрашивание маркеров.
В функциях построения графиков значения параметров указываются в апострофах без разделяющих символов в произвольном порядке.
5. Построение графиков в полулогарифмическом и логарифмическом масштабах.
>> y4=sqrt(x);
>> figure('Name',' Logarithms axes','NumberTitle','off')
>> subplot(2,1,1)
>> semilogx(x,y4)
>> logspace(0,4,100);
>> grid
>> subplot(2,1,2)
>> loglog(x,y4)
>> grid
Пояснения
Диапазон по оси абсцисс в логарифмическом масштабе можно задавать с помощью функции: logspace(d1,d2[,n]) где: d1, d2 — начальное 10d1 и конечное 10d2 значения диапазона; n — количество точек в логарифмическом масштабе, по умолчанию равно 50.
Функция semilogx выводит графики в логарифмическом масштабе по оси абсцисс и линейном — по оси ординат.
Функция loglog выводит графики в логарифмическом масштабе по осям абсцисс и ординат.
6. Построение гистограмм.
>> figure('Name','Histogram','NumberTitle','off')
>> y5=randn(1,1e3);
>> hist(y5)
Пояснения
Функция hist выводит гистограммы hist(y,x) где y, x — векторы одинаковой длины.
Гистограмма отображает число попаданий значений элементов вектора y в интервалы, центры которых заданы элементами вектора x В отсутствии вектора x для значений элементов вектора y по умолчанию выбирается 10 интервалов, и гистограмма отображает число попаданий значений элементов вектора y в центры данных интервалов.
7. Построение трехмерного графика
[x,y]=meshgrid(-pi:pi/32:pi);
z=sin(x)+cos(y);
figure('Name','Graph3D','NumberTitle','off')
mesh(x,y,z),colormap('cool'),colorbar
grid
Пояснения
Построение трехмерных графиков начинается с формирования сетки на плоскости XOY с помощью вспомогательных матриц X и Y по известным векторам x и y соответственно, где X — матрица, строки которой — копии вектора x, а Y — матрица, столбцы которой — копии вектора y. Матрицы X и Y должны иметь одинаковые размеры: количество строк каждой из них равно длине вектора y, а столбцов — длине вектора x. Матрицы X и Y формируются с помощью функции: [X,Y] = meshgrid(x,y) Если векторы x и y одинаковы, то допускается короткий формат: [X,Y] = meshgrid(x).
Функция plot3.
Палитра цветов задается с помощью функции: сolormap.
Вывод на поле графика шкалы цветов, устанавливающей соответствие со значениями функции, выполняется по команде: colorbar.
Выводы:
Изучили графический инструментарий MATLAB.
Овладели навыками построения двумерных и трехмерных графиков.
Задание на самостоятельную работу
1С. Построение двумерного графика. Для аргумента x , заданного на интервале x 2π;2π, вывести график функции y x x sin с помощью функции plot, вывести заголовок и легенду, обозначить оси абсцисс и ординат.
>> x=-2*pi:2*pi
x =
Columns 1 through 11
-6.2832 -5.2832 -4.2832 -3.2832 -2.2832 -1.2832 -0.2832 0.7168 1.7168 2.7168 3.7168
Columns 12 through 13
4.7168 5.7168
>> y=x+sin(x);
>> plot(x,y)
>> xlabel('x')
>> ylabel('y')
>> title('y')
>> legend('x+sin(x)')