МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. А.Н. Косыгина (ТЕХНОЛОГИИ. ДИЗАЙН. ИСКУССТВО)»
(ФГБОУ ВО «РГУ им. А.Н. Косыгина»)
РЕШЕНИЕ ЗАДАЧ
МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ
С ИСПОЛЬЗОВАНИЕМ ПАКЕТА MATLAB
Учебно-методическое пособие
Допущено к изданию редакционно-издательским
советом университета в качестве учебного пособия для подготовки бакалавров по направлениям
09.03.01 Информатика и вычислительная техника,
09.03.02 Информационные системы и технологии,
Москва
ФГБОУ ВО « РГУ им. А.Н. Косыгина», 2020
УДК 519.22
ББК 3.2.2.30
И 50
И 50 Иванов В.В., Фирсов А.В., Новиков А.Н., Городенцева Л.М., Грибова Е.В.
Решение задач математической статистики с использованием пакета MATLAB: учебно-методическое пособие. – М.: ФГБОУ ВО «РГУ им. А.Н.Косыгина», 2020.
ISBN 978-5-87055-943-8
|
|
Рецензенты:
Каршакова Л.Б. - канд. техн. наук, доцент кафедры информационных технологий и компьютерного дизайна РГУ им.А.Н.Косыгина.
Груздева М.А. - канд. техн. наук, доцент кафедры информационных технологий и компьютерного дизайна РГУ им.А.Н.Косыгина.
MATLAB дает универсальные возможности проводить обучение студентов практически по всем изучаемым дисциплинам, выполнять курсовые и дипломные работы. Особенно это относится к подготовке будущих бакалавров и магистров инженерных специальностей. Поэтому разработка учебно-методических пособий по решению задач математической статистики с применением MATLAB является актуальной.
Данное учебное пособие предназначено для приобретения знаний, умений и практических навыков работы с этой системой на конкретных примерах. Пакет MATLAB предлагается использовать как для лучшего усвоения курса, так и для его самостоятельного изучения.
Пособие рекомендуется для обучающихся по направлениям подготовки 09.03.01 Информатика и вычислительная техника и 09.03.02 Информационные системы и технологии всех форм обучения и будет использовано при изучении дисциплин «Теория вероятностей и математическая статистика», «Вычислительная математика».
УДК 519.22
Работа подготовлена на кафедре информационных технологий и компьютерного дизайна ФГБОУ ВО РГУ им. А.Н.Косыгина.
Печатается в авторской редакции.
ISBN 978-5-87055-943-8 |
|
Оглавление
Лабораторная работа № 1. 5
Система MATLAB. 5
1.Вычисления. 5
Задание. 6
|
|
2.Операции с матрицами. 7
Задание. 8
3. Графики в MATLAB. 10
4.Операторы.. 11
5.Комбинаторика. 13
Размещения. 13
Сочетания. 14
Перестановки. 14
Лабораторная работа №2. 15
Сохранение и восстановление значений всех переменных, 15
исполняемых команд и результатов. 15
Задание. 16
Лабораторная работа №3. 17
Линейные регрессии. 17
Регрессио́нный анализ. 17
Задание. 19
Задание. 19
Доверительные интервалы. 21
Лабораторная работа №4. 23
Нормальный закон распределения. 23
Лабораторная работа №5. 28
Дискретные распределения вероятностей. 28
1. Геометрическое распределение. 28
Задание. 29
2. Биномиальное распределение. 29
Задание. 30
3. Распределение Пуассона. 30
Задание. 31
Лабораторная работа №5. 32
Параметры эмпирического распределения. 32
Лабораторная работа №6. 34
Марковские процессы.. 34
Лабораторная работа №7. 38
Пакет Simulink. 38
Создание моделей. 41
Сохранение моделей. 43
Примеры расчета в Simulink. 44
Имитационное моделирование. 47
Пример имитационного моделирования. 49
Лабораторная работа №8. 51
Системы массового обслуживания. 51
Лабораторная работа № 1.
Система MATLAB
Вычисления
Система MATLAB служит для математического моделирования в различных областях. Популярность MATLAB связана с наличием в нем языка высокого уровня, матричных операций и различных расширений, например таких, как Simulink. MATLAB постоянно развивается и успешно применяется все в новых и новых областях.
При запуске MATLAB на экране появляется строка меню, панель инструментов и три окна: «Текущая директория», «Командное окно» и «Рабочая область» (значение переменных) (рис. 1).
Рис 1.1. Экран MATLAB
Окно «Командное окно», как видно из названия, служит для ввода переменных и команд. Язык MATLAB похож на другие алгоритмические языки. Имена переменных начинаются с буквы, длина переменной может быть, сколько угодной, но запоминается только 31 символ. Алгебраические операторы «+», «-», «*», «/», «\», «^». Часть из них имеют свои аналоги для поэлементных действий (действия с каждым элементом матрицы):
«.*», «./», «.\», «.^»
Задание.
Выполнить все приведённые примеры в MATLAB.
В командном окне двойная угловая скобка >> указывает место ввода чисел или формул. Например, необходимо ввести функцию (символы >> вводит не нужно):
>>1-1/3+sin(pi/6)+exp(3)/5
<Enter>
получим в результате
ans= 5.1838
Такое же значение появится и в рабочем пространстве (рис. 2).
Рис. 2
Задать значение любой переменной можно с помощью операции присваивания:
>>x=5
>>s=0.0000007
>>y=x+s
Для вывода упорядоченной последовательности используется оператор «двоеточие»:
>> i=1:5
i =
1 2 3 4 5
Шаг последовательности можно задать любым
>>j=10:-2: 2
>>k=0:pi/4:2*pi
Если ответ некорректный, могут быть получены inf – бесконечность или NaN –неопределенность. Например, если последовательно ввести:
>>x=0:5
>>sin(x)./x
>>y=1/0
Точка перед знаком / означает, что деление применяется ко всем членами последовательности («поэлементно»).
Операции с матрицами
Система MATLAB первоначально разрабатывалась как программа для обработки матриц, поэтому она позволяет легко оперировать с векторами и матрицами. Для матриц и векторов применяются квадратные скобки – [ ].
Введите квадратную матрицу
>>M=[ 1 2 3; 4 5 6; 7 8 9;]
В памяти элементы матрицы располагается по столбцам. Для указания конкретного элемента матрицы необходимо указать его индексы или номер по прядку:
>>M(2, 3)
ans=
6
>>M(7) (счет ведется по столбцам)
ans=
3
Для повторного ввода раннее введённых выражений, можно нажать требуемое количество раз клавишу «Стрелка вверх». История команд сохраняется.
|
|
Если в процессе вычисления нет необходимости вывода промежуточного результата, в конце выражения необходимо ввести точку с запятой (;).
Попробуйте два варианта:
>>x=0.5 >>x=0.5;
>>y=sin(x) >>y=sin(x);
>> x >> x
x =
0.5000
Язык MATLAB имеет множество встроенных функций. Кроме того, имеется возможность создавать собственные функции и подпрограммы.
Задание.
Вычислить выражения:
1. >>x=0:pi/6:pi
>> sin(x)+cos(x)
>> sin(x).^3+cos(x).^3
>> sin(x).^0.5+cos(x).^0.5
Операции с векторами и матрицами
2. >>v1=[2 4 6 8]
>>v2=[1 2 3 4]
>>v1/v2
>>v1.*v2
>>v1./v2
Для умножения матриц второй вектор необходимо транспонировать.
Один из вариантов - при вводе ввести вектор по столбцам:
>>v2=[1;2;3;4]
>>v1*v2
Сложение и вычитание двух векторов. Введите новый вектор v3, вектор v1 при этом остаётся без изменений.
>> v3=[2 4 6 9]
v3 =
2 4 6 9
>> v1-v3
ans =
0 0 0 -1
>>v1+v3
3. Магический квадрат (квадратная матрица, в которой суммы строк, столбцов и диагоналей одинаковы)
>>b=magic(3)
>>b=magic(5)
4. Единичная матрица
>>c=ones(3)
5. Диагональная матрица
>>d=eye(3)
6. Нулевая матрица
>>e=zeros(3)
7. Максимальный и минимальный элемент по столбцам
>>max(b)
>>min(b)
8. Максимальный и минимальный элемент всей матрицы
>>max(max(b))
>>min(min(b))
Для нахождения максимального элемента строки необходимо указать элементы этой строки:
>> max([b(1),b(6),b(11),b(16),b(21)])
или
>> max([b(1,1), b(1,2), b(1,3), b(1,4), b(1,5)])
Можно транспонировать матрицу, затем найти в ней опять максимальные или минимальные элементы столбцов (в которые преобразовались строки исходной матрицы):
b =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> b'
ans =
17 23 4 10 11
24 5 6 12 18
1 7 13 19 25
8 14 20 21 2
15 16 22 3 9
9. Матрица случайных значений (равномерный закон):
|
|
>> w=rand(4,4)
10. Обратная матрица (результат деления единичной матрицы на текущую)
>>q=inv(w)
Проверка:
>>e=w*q
11.Определитель матрицы:
>>det(b)
Графики в MATLAB
12.Система MATLAB включает в себя различные средства для построения графиков.
>>x=0:0.05:2*pi;
>>Y=[sin(x); cos(x)];
>>plot(x,Y)
Для графика можно задать цвет (параметры b, m) и вид линий (параметры:, -)
>> plot(x,sin(x),':b',x,cos(x),'-.m')
Сохраните график в файле с расширением .png. Аналогично сохраняйте и другие графики.
13. Гистограммы
>>x=-3:0.2:3;
>>y=randn(1000,1);
>>hist(y,x)
функция randn распределяет значения y по нормальному закону распределения.
14. График в полярной системе координат
>>t=0:pi/50:2*pi;
>>t=polar(t,sin(7*t)
15. 3D графики
>>[X,Y]=meshgrid([-3:0.15:3]);
>>Z=X.^2+Y.^2;
>>plot3(X,Y,Z)
График-сетка
>>mesh(X,Y,Z)
Функция meshgrid задает область определения графика от -3 до 3 с шагом 0,15 по координатам x и y.
Операторы
Наиболее часто используемыми операторами являются операторы IF, SWITCH, FOR, WHILE.
Рассмотрим примеры их использования. Для использования операторов удобнее применять скрипты. Вызовем скрипт (рис. 3):
Рис. 3
Наберем текст скрипта с оператором IF (рис. 4)
Рис.4
Для запуска скрипта нажмем Run Section (рис. 35).
Рис. 5
a =
7
b =
-5
f =
8.6023
8.6023
Поставив в нужном месте скрипта точку с запятой, можно убрать дублирование ответа:
a=7
b=-5
if a+b <0
disp('ошибка')
else
f=sqrt(a^2+b^2);
disp(f)
End
Запустите скрипт с другими данными:
a=7
b=-10
if a+b <0
disp('ошибка')
else
f=sqrt(a^2+b^2);
disp(f)
End
Скрипт можно сохранить для дальнейшего использования (не обязательно).
Создайте скрипты с другими операторами:
Оператор Switch
x=5
switch x
case 1
y=10
case {2,3,4.5}
y=20
overwise
y=0
end
Оператор FOR
x=1;
for k=1:5
x=x+x*k;
end
Оператор WHILE
x=0
while x<100
a=input(‘Введите a=’)
x=x+a
disp([`x=` num2str(x)])
end
Операторы можно вводить построчно в командном окне и обойтись без скриптов.
Комбинаторика
Размещения
Пусть имеется множество из n элементов. Размещением называется упорядоченный набор из k различных элементов из n. Подмножества, отличающиеся только порядком следования элементов, различны.
Если дано множество A={1, 2, 3, 4}. При k=3 подмножества
B={1, 2, 3} и C{1, 3, 2} – это различные упорядоченные подмножества.
Число всех размещений из n элементов по k элементов:
=
В MatLab существует функция вычисления факториала:
Factorial(n)
Число размещений из 4 элементов по 3 в MatLab будет:
>>n=4;
>>k=3;
>>A=factorial(n)/factorial(n-k)
Сочетания
Сочетанием из n по k называется набор из k элементов, выбранных из n.
Подмножество содержащие одинаковые элементы, но в разном порядке считаются одинаковыми и учитываются один раз.
Формула для расчёта сочетаний:
=
Перестановки
Перестановка — это упорядоченный набор из n без повторений чисел
Перестановки рассчитываются по формуле
Pn=n!
Задание.
Рассчитайте в MatLab
1.Число размещений k=5 из n=8.
2.Число сочетаний k=3 из n=9
3.Число перестановок n=7 элементов.