Выполнить все приведённые примеры в matlab

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. А.Н. Косыгина (ТЕХНОЛОГИИ. ДИЗАЙН. ИСКУССТВО)»

(ФГБОУ ВО «РГУ им. А.Н. Косыгина»)

 

 

РЕШЕНИЕ ЗАДАЧ

МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ

С ИСПОЛЬЗОВАНИЕМ ПАКЕТА 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
© ФГБОУ ВО «РГУ им. А.Н. Косыгина», 2020
© Иванов В.В., Фирсов А.В., Новиков А.Н., Городенцева Л.М., Грибова Е.В., 2020

 

Оглавление

Лабораторная работа № 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 элементов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: