С использованием пакета matlab 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

С использованием пакета 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 элементов.

Лабораторная работа №2.

Задание.

Введите от руки значения переменных и массивов:

 

>> al = 3
>> а2 = 2.5
>> а3 = al + a2

>> x =1:10

>> y =[ < любые 10 чисел > ]

 

Сохранитьданные командой SaveWorkspace As.

Закрыть MatLab любым способом. При этом все текущие данные будут потеряны.

Открыть MatLab.

Попытаться напечатать значения переменных.

>> al
>> а2

>> x

 

Будет выдаваться ошибка – «данных нет».

 

Восстановить данные командой Open.

Попытаться напечатать значения переменных.

 

>> al
>> а2

>> x

>>у

 

Убедитесь, что данные восстановлены.

 

Закрыть MatLab любым способом. При этом все данные будут потеряны.

Открыть MatLab.

Набрать команды:

 

>> diary d 02-02-19. txt
>> al = 3
>> а2 = 2.5
>> x =1:10

>> y =[ < любые 10 чисел > ]
>> quit

 

MatLab при этом закроется.

Файл (журнал работы) сохранился на диске в корневом каталоге MatLab:

 

C:\Program Files\MATLAB\R2017b\bin

 

Открыть MatLab.

 

Восстановить данные командой Open.

Открыть файл d02-02-19.txt. Посмотреть его содержимое.

При необходимости можно из журнала работы скопировать любые команды в среду MatLab.

Лабораторная работа №3.

Линейные регрессии

 

Эмпирическое исследование, в отличие от теоретического, направлено непосредственно на объект познания. Оно осуществляется посредством наблюдений, сбора статистического данных, эксперимента.

Существует большое количество методов обработки экспериментальных данных, среди которых одним из популярных методов является регрессионный анализ.

 

Регрессио́нный анализ — статистический метод исследования влияния одной или нескольких независимых переменных на зависимую переменную. Независимые переменные иначе называют регрессорами или предикторами, а зависимые переменные — критериальными.

Чаще всего используются линейные уравнения регрессии, которые легче поддаются анализу.

Многофакторное линейное уравнение регрессии имеет вид:

 

y = a0 + a1x1 + a2x2 + a3x3 + …+ anxn,       (1)

 

где x 1, … xn - независимые переменные;

у - зависимая переменная;

a 1, …, an - коэффициенты уравнения регрессии, которые надо определить.

 

Обычно для обработки отбираются (m x n +1) эмпирических данных, причём m > n.

В более простом случае находят коэффициенты уравнения регрессии для однофакторной модели

 

y = a +b x             (2)

 

Коэффициенты a и b определяются методом наименьших квадратов (МНК).

МНК - математический метод, применяемый для решения различных задач, основанный на минимизации суммы квадратов отклонений некоторых функций от искомых переменных. Для однофакторной модели метод минимизирует величину:

 

,         (3)

 

где

j - номер данных.

 

Однофакторную модель можно представить матричным уравнением

 

Ax = b,   (4)

где A прямоугольная матрица размера m x n.

 

Так как число m больше числа n, то точного решения для нахождения значений коэффициентов a и b не существует. Поэтому эту систему можно «решить» только в смысле выбора такого вектора x чтобы минимизировать «расстояние» между векторами b и Ax. Для этого можно применить критерий минимизации суммы квадратов разностей левой и правой частей уравнений системы. Нетрудно показать, что решение этой задачи минимизации приводит к решению следующей системы уравнений:

 

x=(AT A)-1(ATb)              (5)

 

Коэффициенты a и b определяются решением системы уравнений

               (6)

,                      

 

где         (7)

 

   

 

 

Преобразовав систему можно получить коэффициенты регрессии:

 

           (8)

 

     (9)

 

 

Задание.

Задание.

 

(Все результаты сохраняйте в виде копий экрана для включения в отчет).

В MatLab введите вектор x:

 

>>x=1:10;

 

Введите вектор y c данными своего варианта:

 

>>y=[ … ]

 

Создайте векторы квадратов и произведений:

 

>>xx=x.*x

>>xy=x.*y

>>yy=y.*y

 

Для подсчета средних значений воспользуйтесь функцией mean.

 

>>mx=mean(x)

>>my=mean(y)

>>mxx=mean(xx)

>>mxy=mean(xy)

>>myy=mean(yy)

 

Заполните таблицу 1. Рассчитайте коэффициенты a и b по формулам 8 и 9.

 

Постройте график точек:

 

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

 

Постройте другой график:

 

>> plot(x, y, '-g')

 

Проанализируйте отличия графиков.

 

Рассчитайте значения y по уравнению регрессии:

 

>>ye=a+b*x

 

Выведите значения на график:

 

>>plot(x, y, 'om', x, ye, '-r')

 

В MatLab имеется специальная функция для подсчета коэффициентов регрессии regress. Для ее использования надо преобразовать исходные данные:

>>X = [ones(10,1) x']

>>Y=y'

Значения коэффициентов a и b вычисляются по формуле:

 

>>k = regress(Y,X)

 

Значения, рассчитанные по уравнению регрессии:

 

YE=k(1)+k(2)*x

 

По теоретической зависимости рассчитайте значение функции при х=15.

 

 

Доверительные интервалы.

 

Расчет параметров линейной регрессионной модели и их 95% границ доверительных интервалов:

 

[k, kint] = regress(Y,X,0.05)

 

Функция возвращает: k - вектор коэффициентов линейного уравнения регрессии, k int - матрицу интервальных оценок параметров линейной регрессии.

Размерность матрицы k int составляет p×2, где первый столбец матрицы задает нижнюю границу 95% доверительного интервала, второй - верхнюю границу 95% доверительного интервала.

Графическое представление границ параметров доверительных интервалов

 

>> Yn = kint(1,1)+ kint(2,1).* x;

 

>> Yv = kint(1,2)+ kint(2,2).* x;

 

Уравнение регрессии и 95% интервал её границ выведите на график

 

>> plot(x, y, 'om', x, YE, '-r', x, Yn, '-g', x, Yv, '-g')

 

Постройте доверительные интервалы для вероятностей  99%, 90%, 75%, 50%.

Все графики разместите в отчете рядом.

Проанализируйте. Объясните разницу.

 

Кроме уравнения регрессии можно рассчитать и коэффициент корреляции.

Коэффициент корреляции - это статистический показатель линейной зависимости двух случайных величин. Коэффициент корреляции может принимать значения от -1 до +1. Значение +1 будет говорить о полной прямой линейной корреляции величин, -1 об обратной линейной корреляции между величинами, 0 - о нулевой корреляции, т.е. об отсутствии линейной зависимости.

Матрица парных коэффициентов корреляции рассчитывается следующим образом:

 

>>R = corrcoef(x,y);

 

Коэффициент корреляции между x и y

 

>>R(1,2)

 

 

Таблица 2. Значения y

Варианты x1=1 x2=2 X3=3 X4=4 X5=5 X6=6 X7=7 X8=8 X9=9 X10=10
1 15 17 24 21 14 26 24 30 26 33
2 25 35 24 21 23 25 39 31 25 33
3 13 20 24 14 18 30 23 24 18 25
4 14 24 17 16 24 30 31 18 30 31
5 14 11 10 18 20 22 35 19 22 32
6 16 21 28 20 19 17 33 30 25 26
7 23 20 22 40 44 38 41 42 52 51
8 22 31 33 25 31 18 25 29 27 32
9 11 5 7 9 26 21 24 19 30 24
10 22 33 40 23 33 43 42 38 45 48
11 21 31 20 22 30 27 36 31 44 39
12 20 31 35 31 31 27 41 28 43 40
13 22 15 33 20 28 33 23 32 34 35
14 14 7 16 13 16 27 15 15 33 25
15 18 15 21 15 21 21 29 27 29 26
16 13 17 14 15 25 25 36 37 48 43
17 14 9 8 19 22 29 13 19 25 25
18 11 12 17 12 31 25 30 35 38 33
19 12 4 9 23 23 7 15 7 20 14
20 14 6 8 16 10 16 14 19 27 22
21 12 5 19 24 15 25 31 17 22 28
22 12 8 9 19 10 23 27 23 28 24
23 29 30 32 33 32 50 39 43 42 48
24 12 23 19 10 17 19 25 24 16 20
25 14 17 10 23 25 31 26 33 37 35
26 18 13 20 25 31 39 40 33 30 42
27 17 28 22 32 40 27 37 47 33 44
28 22 31 24 32 31 35 38 41 33 40
29 25 22 38 42 44 47 50 49 44 54
30 18 13 10 27 14 26 24 26 24 24

 


 

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

Лабораторная работа №5.

Задание.

Биномиальное распределение

 

Биномиальное распределение вероятности описывает процессы, в которых событие A наступает k раз за N испытаний

 

 

где

p – вероятность наступления события A в единичном испытании,

Число перестановок:

 

 

 

Математическое ожидание распределения:

 

Дисперсия:

Расчет вероятности наступления k событий из N испытаний в MatLab будет:

 

p=(factorial(N)/(factorial(k)*factorial(N-k))*p^k*(1-p)^(N-k))

Задание.

Распределение Пуассона

 

Распределение Пуассона моделирует случайную величину, представляющую собой число событий, произошедших за фиксированное время, при условии, что данные события происходят с некоторой фиксированной средней интенсивностью и независимо друг от друга.

Распределение Пуассона имеет следующую плотность вероятности

 

 

Величина pk (λ) соответствует вероятности ровно k удачных исходов при условии, что среднее число удачных исходов составляет λ.

 

Формула для подсчета в MatLab:

 

p=L^k*2.718^(-L)/factorial(k)

 

Этим распределением проще пользоваться, чем биномиальным.

Математическое ожидание

M=λ

 

Дисперсия

D=λ

Распределение Пуассона имеет ключевую роль в Теории систем массового обслуживания (СМО). Оно используется и в теории страхования.

Сгенерируем 100 значений, распределенных по закону Пуассона с λ=2:

 

lambda =2

p=poissrnd(lambda,[1 100]);

 

Построим гистограмму распределения в 9 интервалов:

hist(p, 9)

 

Очевидно, что оценка λ, рассчитанная по сгенерированным данным, будет отличаться от теоретической величины.

Расчет точечной и интервальной оценки параметра λ для вектора выборки наблюдений p.

Доверительный интервал соответствует 95% вероятности.

 

[lambdahat, lambdaci] = poissfit(p)

 

Помним, что теоретическое значение составляет 2.

Задание.

Рассчитайте время заполнения контейнера при условии:

Лабораторная работа №5.

Лабораторная работа №6.

Марковские процессы

 

Случайный Марковский процесс (Цепи Маркова) назван в честь русского математика Маркова А.А. (1856-1922). Работы Маркова А.А. стали известны широкому кругу математиков (в т.ч. за рубежом) благодаря книге академика Колмогорова А.Н. (1936 г.).

Случайный процесс называется Марковским в том случае, если вероятность будущего состояния системы зависит только от его состояния в настоящий момент времени и не зависит от его состояния в прошлом. Марковский процесс является дискретным, если переход из одного состояния в другое совершается скачком (мгновенно).

Рассмотрим Марковский процесс на примере. Пусть имеем техническое устройство, которое может находиться в двух состояниях: исправно (x 0) и неисправно (x 1). Для иллюстрации Марковского процесса часто используются графы. Граф — абстрактный математический объект, представляющий собой множество вершин и набор рёбер, соединяющих их. Граф для двух состояний показан на рис.6.

Рис. 6

 

P00 – вероятность того, что система останется в исправном состоянии;

P01 – вероятность того, что система перейдет из исправного состояния в неисправное;

P10 – вероятность того, что система перейдет из неисправного состояния в исправное;

P11 – вероятность того, что система останется в неисправном состоянии.

В начальный момент времени система находится в исправном состоянии:

 

 

Пусть матрица переходов системы из i – го состояния в j – ое составляет:

 

 

После первого шага система перейдет в состояние:

 

 

Поскольку достоверно неизвестно в каком состоянии система после первого шага (k =1), для определения состояния системы на втором шаге надо применить формулу полной вероятности.

Полная вероятность того, что система будет находится в исправном состоянии на шаге k =2 состоит из вероятности исправного состояния на первом шаге умноженная на вероятность, что система останется в исправном состоянии плюс вероятность неисправного состояния на первом шаге, умноженная на вероятность перехода из неисправного состояния в исправное:

 

 

 

Вероятность противоположного события:

 

 

 

 

Суммарная вероятность:

 

 

Что и следовало ожидать.

Вектор состояния системы на втором шаге:

 

 

Лабораторная работа №7.

Пакет Simulink

 

Программа MatLab содержит в себе пакет Simulink, позволяющий значительно расширить возможности моделирования. Simulink – это графическая среда имитационного моделирования, позволяющая при помощи блоков, объединённых в виде направленного графа, строить различные динамические модели реальных процессов. Пакет Simulink позволяет создать функциональную модель процесса, используя блоки из библиотек и устанавливая связи между ними. Построение моделей в Simulink осуществляется графически. Имеется также возможность модифицировать стандартные блоки библиотек и создавать новые.

Вызов пакета осуществляется из меню MatLab (рис. 8).

 

Рис. 8

 

В окне шаблонов Simulink надо выбрать пустой шаблон– Blank Model (рис. 9).

 

Рис. 9

 

Далее следует вызвать обозреватель библиотек (рис. 10):

 

Рис. 10

 

Если надо создать другую новую модель, то необходимо в меню выбрать File->New->Model или нажать Ctrl+N.

Пакет Simulink имеет большое количество библиотек, название которых приведено в левой половине окна обозревателя (рис. 11).

 

Рис. 11

 

В состав Simulink входят следующие основные библиотеки:

 

Commonly Used Blocks – обычно используемых функции

Continuous – непрерывных элементов;

Discontinuities – ступенчатых элементов

Discrete – дискретных элементов;

Logic and Bit Operations – логических и битовых операции;

Lookup tables – функций и таблиц;

Math operations– математических функций;

Model Verification –проверки модели;

Model-Wide Utilities – широко применяемых моделей;

Nonlinear – нелинейных элементов;

Ports & Systems – портов и систем;

Signal attributes – атрибутов сигналов

Signal Routing – передачи сигналов

Sinks – устройств вывода;

Sources – источников сигнала;

User-Defined Functions – подсистем, определенных пользователем;

Additional Math & Discrete – дополнительные математические и дискретные блоки.

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

Создание моделей.

 

01. Для копирования и перемещения блоков из моделей или библиотек необходимо щелкнуть по ним кнопкой мыши, удерживая ее нажатой, перетащить блок из одного окна в другое окно или на другое место в том же окне (рис.12).

 

Рис. 12

 

02. Для дублирования блока следует при нажатой клавише Ctrl клавиатуры выделить его левой кнопкой мыши и затем перетащить его на новое место. Это же дублирование можно выполнить, перетаскивая блок правой кнопкой мыши без нажатия на клавишу Ctrl.

03. Наименование блока можно редактировать. Щелкнув кнопкой мыши по наименованию блока можно изменить само имя. Командой меню Diagram >Format>Font Style можно изменить шрифт (рис. 13).

 

Рис. 13

 

04. Для изменения ориентации блока служат команды Diagram>Rotate & Flip (рис. 14). Кроме того можно использовать комбинацию клавиш Ctrl+R.

 

Рис. 14

 

05. Щелкнув мышью два раза на блоке, можно попасть в окно задания параметров блока.

06. Блоки между собой соединяются линиями, образуя направленный граф. Каждая линия в Simulink может нести скалярный или векторный сигнал.

Линия соединяет выход одного блока с входом другого (рис. 15).

Рис. 15

 

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

Если в результате получится красная пунктирная стрелка, то конец стрелки надо переместить точно к входу блока. Любую стрелку, как и блок, можно удалить, выделив её и нажав на клавишу Delete (Del).

Simulink рисует линии, используя горизонтальные и вертикальные участки.

07. Лини ответвления может соединить один выход блока с несколькими входами других блоков. Линия ответвления начинается от уже существующей линии и несет такой же сигнал к входу другого блока. Ответвление проводится от линии от входного порта при нажатии клавиши Ctrl (рис. 16):

Рис. 16

 

Для перемещения сегмента линии необходимо установить указатель на нужном сегменте перетащить его в нужное место (рис. 17):

Рис. 17

 

Можно вставить блок с одним входом и одним выходом, врезав его в существующую линию.

 

Сохранение моделей

 

Созданную модель можно сохранить, используя команду Save



Поделиться:


Последнее изменение этой страницы: 2021-05-11; просмотров: 78; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.14.15.94 (0.547 с.)