Министерство науки и высшего образования
Министерство науки и высшего образования
Российской Федерации
федеральное государственное бюджетное образовательное учреждение
высшего образования
«Московский государственный технологический университет «СТАНКИН»
(ФГБОУ ВО «МГТУ «СТАНКИН»)
Институт автоматизации и робототехники
Кафедра робототехники и мехатроники
Дисциплина «Пакет прикладных программ Matlab для исследований и разработок»
ОТЧЁТ
по лабораторной работе
на тему:
Построение графиков функций в MATLAB/Scilab. Скрипты и функции
Выполнил:
студент группы АДБ-18-09 __________ _______ Сулаев Т.А.
(дата) (подпись) (ФИО)
Принял
преподаватель: __________ _______ Ким В. Л.
(дата) (подпись) (ФИО)
Оценка: ________ Дата:_________
Москва 2020
Цель работы: получение базовых знаний для работы c двумерной и
трёхмерной графикой в среде MATLAB, создание графиков функций одной
переменной, построение поверхностей, использование М-файлов, создание
пользовательских функций.
Задание №1
1.1. В интервале [0.1, 1] с шагом 0.1 рассчитать таблицу значений для
выражения из пункта №1 первой лабораторной работы, которое вы выбирали
согласно вашему варианту.
N=[0.1:0.1:1]// вектор N, которое изменяется в интервале 0.1-1 с шагом 0.1
N =
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.
A=cos(N)^2
A =
column 1 to 5
0.9900333 0.9605305 0.9126678 0.8483534 0.7701512
column 6 to 10
0.6811789 0.5849836 0.4854002 0.386399 0.2919266
B=log10(N^2).*log2(N^4 + N^2)
B =
column 1 to 5
13.259002 6.412732 3.5028725 1.9337747 1.0103
column 6 to 10
0.4571524 0.1405996 -0.0135363 -0.0505148 0.
--> C=exp(N - 1)
C =
column 1 to 5
0.4065697 0.449329 0.4965853 0.5488116 0.6065307
column 6 to 10
0.67032 0.7408182 0.8187308 0.9048374 1.
--> D=A - 2*B
D =
column 1 to 5
-25.52797 -11.864933 -6.0930772 -3.019196 -1.2504488
column 6 to 10
-0.233126 0.3037845 0.5124729 0.4874285 0.2919266
--> (A.^2.\9 - B.^1.\2).\(C.^2 + D + A.^2 + B.^5).^2
ans =
column 1 to 5
1.859D+10 12429739. 26662.912 54.673753 0.0441392
column 6 to 10
0.0326363 0.1182329 0.0108195 0.0212109 0.
1.2. Выполнить задание 1.1, используя шаг -0.1 начиная со значения N=1 до
N=0.
-> N=[1:-0.1:0]//вектор N, которое изменяется в интервале 0.1-1 с шагом 0.1
N =
1. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.
--> A=cos(N)^2
A =
column 1 to 5
0.2919266 0.386399 0.4854002 0.5849836 0.6811789
column 6 to 11
0.7701512 0.8483534 0.9126678 0.9605305 0.9900333 1.
--> B=log10(N^2).*log2(N^4 + N^2)
B =
column 1 to 6
0. -0.0505148 -0.0135363 0.1405996 0.4571524 1.0103
column 7 to 11
1.9337747 3.5028725 6.412732 13.259002 Inf
--> C=exp(N - 1)
C =
column 1 to 6
1. 0.9048374 0.8187308 0.7408182 0.67032 0.6065307
column 7 to 11
0.5488116 0.4965853 0.449329 0.4065697 0.3678794
--> D=A - 2*B
D =
column 1 to 5
0.2919266 0.4874285 0.5124729 0.3037845 -0.233126
column 6 to 11
-1.2504488 -3.019196 -6.0930772 -11.864933 -25.52797 -Inf
--> (A.^2.\9 - B.^1.\2).\(C.^2 + D + A.^2 + B.^5).^2
ans =
column 1 to 6
0. 0.0212109 0.0108195 0.1182329 0.0326363 0.0441392
column 7 to 11
54.673753 26662.912 12429739. 1.859D+10 Nan
1.3. Отобразить в линейном масштабе на одних осях два графика функций с
помощью функции plot:
где N изменяется в диапазоне [0, 1] с шагом 0.1, а переменная M - с шагом
0.02.
Решение:
N=[0:0.1:1]
N =
0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.
--> M=[0:0.2:1]
M =
0. 0.2 0.4 0.6 0.8 1.
--> f1=N.^5+N.^3+N+1//ФУНКЦИЯ ВЕКТОРА N
f1 =
column 1 to 9
1. 1.10101 1.20832 1.32943 1.47424 1.65625 1.89376 2.21107 2.63968
column 10 to 11
3.21949 4.
--> f2=M.^5+M.^3+M+1//ФУНКЦИЯ ВЕКТОРА M
f2 =
1. 1.20832 1.47424 1.89376 2.63968 4.
--> plot(N,f1,'x-b')
--> plot(M,f2,'x-r')
Рисунок 1 два графика функций f1 и f2 с помощью функции plot
1.4. С помощью функции plot постройте графики функций f1(N) и 10-2
f1(N)*sin(N), так, чтобы отображались две оси с разным масштабом.
N=[0:0.1:1]
N =
0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.
--> f1=N.^5+N.^3+N+1
f1 =
column 1 to 9
1. 1.10101 1.20832 1.32943 1.47424 1.65625 1.89376 2.21107 2.63968
column 10 to 11
3.21949 4.
--> f2=10.^(-2).*f1.*sin(N)
f2 =
column 1 to 8
0. 0.0010992 0.0024006 0.0039287 0.005741 0.0079405 0.010693 0.0142441
column 9 to 11
0.0189359 0.0252191 0.0336588
--> na1=newaxes();//создает оси
--> plot(na1,N,f1,'y-g');//чертит первую функцию относительно оси
--> na2=newaxes();//создает вторую ось с новым масштаб
--> na2.filled="off";//не создает дополнительное окно
--> plot(na2,N,f2,);//чертит вторую функцию на том же окне
--> na2.axes_visible(1)="off";
--> na2.y_location="right";//сдвигает ось вправо
11 1 |
9 |
Рисунок 2 отображение двух осей с разными масштабами
1.5. Выполните задание 1.4, используя:
логарифмический масштаб по обеим осям;
логарифмический масштаб по оси абсцисс;
логарифмический масштаб по оси ординат.
//код 1
N=[0:0.1:1];
f1=N.^5+N.^3+N+1;
f2=10.^(-2).*f1.*sin(N);
na1=newaxes();
plot('ll',na1,N,f1,'colo','red','linest','-.','marker','>');//’ll’-логарифмический масштаб по обеим осям
красная штрихпунктирная линия и маркер- треугольник, указывающий вправо
na2=newaxes();
na2.filled="off";
plot('ll',na2,N,f2,'colo','blue','linest','--','marker','+');//’colo’-цвет, ‘linest’-тип линии, ‘marker’-
маркер, синяя штриховая линия и маркер- плюс
na2.axes_visible(1)="off";
na2.y_location="right";
Рисунок 3 логарифмический масштаб по обеим осям
plot('ln',na1,N,f1,'colo','black','linest','-.','marker','P');//в предыдущем коде ‘ll’ заменяем ’ln’-
логарифмический масштаб по оси абсцисс, черная линия штрих пунктиром и маркер- пентаграмма
plot('ln',na2,N,f2,'colo','green','linest','-','marker','D');//зеленная сплошная линия и маркерромб
Рисунок 4 логарифмический масштаб по оси абсцисс
plot('nl',na1,N,f1,'colo','pink','linest','-','marker','*');//в коде 1 заменяем ‘ll’ на ‘nl’-
логарифмический масштаб по оси ординат, розовая сплошная линия и маркер- звездочка
plot('nl',na2,N,f2,'colo','gray','linest',':','marker','x');//серая пунктирная линия и маркер- крест
Рисунок 5 логарифмический масштаб по оси ординат
1.6. Сформируйте матрицу и вектор размерами соответственно не менее 5x6
и 1x7, первыми элементами которых является Ваш номер по списку в
журнале группы. Постройте графики вектора и матрицы. Примечание:
воспользуйтесь функциями Matplot и colorbar().
--> P=[2,3,4,5,6,7;2,3,4,5,6,7;2,3,4,5,6,7;2,3,4,5,6,7;2,3,4,5,6,7;]//матрица 5x6
P =
2. 3. 4. 5. 6. 7.
2. 3. 4. 5. 6. 7.
2. 3. 4. 5. 6. 7.
2. 3. 4. 5. 6. 7.
2. 3. 4. 5. 6. 7.
--> M=[2,3,4,5,6,7,8;]//вектор с размером 1x7
M =
2. 3. 4. 5. 6. 7. 8.
--> Matplot(P)// Matplot является листом иерархии графических функций. Он
представляет 2D-графики поверхности с использованием цветов и изображений. К
каждому цвету соответствует определенное число реализация матрицы Р
Рисунок 6 график матрицы5x6
--> colorbar//реализует цветную столбиковую диаграмму
--> Matplot(M)//реализация вектора М
Рисунок 7 график вектора М
--> colorbar//реализация вектора М
Рисуок 8 Результат использования функции colorbar