Главная страница

лабораторные работы. Обработки данных


Скачать 1.26 Mb.
НазваниеОбработки данных
Анкорлабораторные работы.pdf
Дата03.09.2018
Размер1.26 Mb.
Формат файлаpdf
Имя файлалабораторные работы.pdf
ТипИсследование
#24001
страница1 из 8
  1   2   3   4   5   6   7   8

СТАТИСТИЧЕСКИЕ МЕТОДЫ
ОБРАБОТКИ ДАННЫХ
Лабораторный практикум

Лабораторный практикум содержит описание десяти лабораторных работ. При выполнении работ предполагается использование системы программирования Matlab с пакетом прикладных программ по статистике «Statistics Toolbox». Лабораторные ра- боты содержат теоретическую часть, относящуюся к статистическим методам, описа- ние средств системы Matlab для решения поставленных задач и указания к порядку выполнения работ.

ЛАБОРАТОРНАЯ РАБОТА № 1. ОЗНАКОМЛЕНИЕ С СИСТЕМОЙ
MATLAB. ОДНОМЕРНЫЕ РАСПРЕДЕЛЕНИЯ ТЕОРИИ
ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ
1.1. Цель работы
1.1.1.
Ознакомление с системой программирования Matlab, приобретение навыков работы в ней.
1.1.2.
Ознакомление с языком программирования системы Matlab.
1.1.3.
Исследование с помощью средств Matlab одномерных распределений теории вероятностей и математической статистики.
1.2. Теоретические положения
1.2.1. Общие сведения о системе Matlab
Matlab (Matrix Laboratory – матричная лаборатория) – универсальная ин- тегрированная система, предлагаемая ее разработчиками как язык програм-
мирования высокого уровня для технических вычислений.
Язык программирования Matlab является интерпретатором. Это значит, что каждая инструкция программы распознается и тут же исполняется. Этап ком- пиляции полной программы отсутствует. Интерпретация означает, что Matlab не создает исполняемых конечных программ. Они существуют лишь в виде m-файлов (файлов с расширением m). Для выполнения программ необходимо находиться в среде Matlab. Однако для программ на языке Matlab созданы ком- пиляторы, транслирующие программы на языке Matlab в коды языков программирования C и C++. Это решает проблему создания исполняемых программ, изначально написанных в среде Matlab.

1.2.2. Запуск системы Matlab
Matlab запускается нажатием левой клавиши мыши на ярлыке Matlab в ра- бочем меню операционной системы Windows. После этого появляется команд- ное окно системы Matlab, и система готова к проведению вычислений в ко- мандном режиме. Полезно знать, что в начале запуска автоматически выполня- ется команда matlabrc, которая исполняет загрузочный файл matlabrc.m и файл startup.m, если таковой существует. Эти файлы выполняют начальную настройку терминала системы и задают ряд ее параметров. Для сохранения соб- ственных m-файлов рекомендуется создать пользовательский каталог, напри- мер, каталог с именем USER на диске D. Доступ к этому каталогу необходимо обеспечить с помощью команды path, которая будет иметь вид:
path(path,'D:\USER').
Эту команду целесообразно включить в файл startup.m, который в свою очередь нужно создать и записать в один из каталогов системыMatlab, напри- мер в каталог, в котором размещается файл matlabrc.m.
1.2.3. Сеанс работы с Matlab
Сеанс работы с Matlab принято именовать сессией. Сессия, в сущности, яв- ляется текущим документом, отражающим работу пользователя с системой
Matlab. В ней имеются строки ввода, вывода и сообщений об ошибках. Строка ввода указывается с помощью приглашающего символа >>. В строке вывода символ >> отсутствует. Строка сообщений об ошибках начинается символами
???. Входящие в сессию определения переменных и функций располагаются в рабочей области памяти (workspace). Команды набираются на клавиатуре с по- мощью обычных операций строчного редактирования. Особое назначение имеют клавиши
↑ и ↓ . Они используются для подстановки после приглашения
>> ранее введенных строк, например, для их дублирования, исправления или дополнения.

Полезно сразу усвоить следующие команды:
clc – очищает экран и размещает курсор в левом верхнем углу пустого экра- на;
clear – уничтожает в рабочем пространстве определения всех переменных;
clear x – уничтожает в рабочем пространстве определение переменной x;
clear a,b,c – уничтожает в рабочем пространстве определения переменных списка.
Уничтоженная (стертая в рабочем пространстве) переменная становится не- определенной. Использовать такие переменные нельзя, такие попытки сопро- вождаются выдачей сообщений об ошибке. По мере задания одних переменных и уничтожения других рабочая область перестает быть непрерывной и содер- жит «дыры» и всякий «мусор». Во избежание непроизводительных потерь па- мяти при работе с объемными данными следует использовать команду pack, осуществляющую дефрагментацию рабочей области.
1.2.4. Элементы программирования на языке Matlab
Система Matlab ориентирована на работу с матричными переменными. По умолчанию предполагается, что каждая заданная переменная – это матрица.
Даже обычные константы и переменные рассматриваются в Matlab как матрицы размером
1 1
× .
Простейшей конструкцией языка программирования является оператор при- сваивания:
Имя_переменной = Выражение
Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваивается переменной. Так, если это выражение – век- тор или матрица, то переменная будет векторной или матричной.
После набора оператора в командной строке и нажатия клавиши ENTER на
экран дисплея выводится вычисленное значение переменной. Для блокировки вывода результата вычислений на экран оператор нужно завершить символом ;
(точка с запятой).
Пример
>> x=2;
>> y=2;
>> r=sqrt(x^2+y^2) r=
2.8284
Возможна также конструкция, состоящая только из выражения. В этом слу- чае для результата вычислений Matlab назначает переменную с именемans.
Пример
>> x=2;
>> y=2;
>> sqrt(x^2+y^2) ans=
2.8284
Для выполнения арифметических операций в системе Matlab применяются обычные символы: +(сложение), – (вычитание), * (умножение), / (деление), ^
(возведение в степень). Эти операции называются матричными, так как приме- няются и при работе с матрицами. Наряду с матричными операциями над мас- сивами можно выполнять и поэлементные операции. Для обозначения поэле- ментных операций используется . (точка), предшествующая обычной (матрич- ной) операции.
Для присваивания значений массиву необходимо значения элементов мас- сива перечислить в квадратных скобках, разделяя их пробелами.
Пример
>> v=[1 5 3] v=

1 5 3
В этом примере мы задали вектор v (одномерный массив) со значениями элементов 1,5,3. Задание матрицы (двухмерного массива) требует указания раз- личных строк. Для различения строк используется ; (точка с запятой).
Пример
>> m=[1 3 2; 5 6 4; 6 7 8] m=
1 3 2 5 6 4 6 7 8
Для указания отдельного элемента массива используется имя массива и круглые скобки, внутри которых указываются индексы, разделенные запятыми.
Пример
>> m=[1 2 3; 4 5 6; 7 8 9];
>> m(1,1)=5;
>> m(3,3)=m(1,1)+m(3,3);
>> m m=
5 2 3 4 5 6 7 8 14
Matlab допускает максимум 4096 символов в строке. Если для выражения не хватает одной строки или мы не желаем заходить в невидимую область окна, то выражение можно перенести на новую строку с помощью многоточия … (3 или более точек). Комментарий в строке должен начинаться символом %.
Пример
>> % Пояснение переноса выражения и комментариев
>> x=2;
>> y=2;

>> r=sqrt(x^2+ … % перенос выражения в следующую строку y^2) r=
2.8284
Для формирования упорядоченных числовых последовательностей в Matlab применяется оператор : (двоеточие):
Начальное_значение: Шаг: Конечное_значение
Данная конструкция порождает последовательность (массив) чисел, которая начинается с начального значения, идет с заданным шагом и завершается ко- нечным значением. Если шаг не задан, то он принимает значения 1 или -1.
Пример
>> i=1:6 i=
1 2 3 4 5 6
>>x=0: 0.5: 3 x=
0 0.5000 1.0000 1.5000 2.0000 2.500 3.0000
>> x=3: -0.5: 0 x=
3.000 2.5000 2.0000 1.5000 1.0000 0.5000 0
1.2.5. Справочная система Matlab
Matlabимеет справочную систему, которая активизируется щелчком левой клавиши мыши на пункте ? главного менюMatlab.Справочная система позво- ляет ознакомиться с языком программирования Matlab, имеющимися в системе функциями, их назначением и описанием.

1.2.6. Создание m-файлов-сценариев
ВMatlabимеется возможностьнаписать программу и сохранить ее в виде m-файла с целью последующего многократного выполнения. m-файл-
сценарий, именуемый также script-файлом, представляет собой, в отличие от
m-файлов-функций, последовательность команд без входных и выходных па- раметров. Он имеет следующую структуру:
% Основной комментарий
%Дополнительный комментарий
Тело файла с любыми выражениями
Созданный m-файл включается в справочную систему. Комментарии в m-файле нужны для того, чтобы ознакомиться с назначением файла через спра- вочную систему. Основной комментарий выводится при исполнении команд
lookfor и help имя_каталога. Полный комментарий выводится при исполне- нии команды help имя_файла.
Для создания и отладки m-файла необходимо войти в редактор-отладчик
Matlab,выбрав в основном менюкомандного окнаMatlabпункт Файл, затем пункты Создать и m-файл. После раскрытия окна редактора-отладчика необ- ходимо набрать нужные команды программы и сохранить полученный файл с помощью пунктов меню Файл, Сохранить как… редактора-отладчика. Для выполнения m-файла необходимо скопировать его в буфер с помощью пунктов
Правка, Выделить все и Правка, Копировать меню редактора-отладчика, вставить файл из буфера в командное окноMatlab с помощью пунктов Правка,
Вставить меню командного окнаMatlab и нажать клавишу ENTER.
1.2.7. Построение графиков функций одной переменной
Для построения графиков функций одной переменной
)
(x
f
y
=
в Matlab имеется функция plot.
График строится в декартовой системе координат по за-
данным массивам значений аргумента и функции. Заданные этими массивами точки соединяются прямыми линиями. Имеется возможность изменять тип и цвет линии и тип узловых точек (маркер). Вызов этой функции осуществляется командой
plot(x,y,s)
где x, y – одномерные массивы одинаковой размерности; x – массив значений аргумента функции
)
(x
f
y
=
; y – массив значений функции
)
(x
f
y
=
; s – стро- ковая константа, определяющая цвет линии, маркер узловых точек и тип линии.
Эта константа может содержать от одного до трех символов.
Цвет линии определяется символами y (желтый), m (фиолетовый), c (голу- бой), r (красный), g (зеленый), b (синий), w (белый), k (черный).
Тип узловой точки определяется символами . (точка), o (окружность), x
(крестик), + (плюс), * (звездочка), s (квадрат), d (ромб), < > ^ (треугольники различной направленности), p (пятиугольник), h (шестиугольник).
Тип линии определяется символами - (непрерывная), : (короткие штрихи), -.
(штрихпунктир), -- (длинные штрихи).
Символьную константу s можно опустить. В этом случае по умолчанию ис- пользуется непрерывная линия желтого цвета.
Для построения в одном окне нескольких графиков можно использовать ко- манду
plot(x1,y1,s1,x2,y2,s2,x3,y3,s3,…)
Пример
% графики функций sin x, cos x x=0:0.1:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'k-o',x,y2,'r--*')
В результате выполнения этой программы на экран монитора будет выведе- но графическое окно с графиками, представленными на рис. 1.1. Графики пред-
ставлены в черно-белой палитре, хотя в действительности график функции cos(x) выводится красным цветом.
Рис. 1.1. Графики, выполненные с помощью программы plot
Созданный график можно скопировать в буфер Clipboard, активизировав в пункте Edit главного меню окна графики команду Copy Figure, с целью его дальнейшего редактирования в каком-либо графическом редакторе, например
Paint.
1.2.8. Плотности вероятностей некоторых одномерных распределений
1.2.8.1.
Равномерное распределение
)
,
( b
a
U
:
( )
b
a
R
b
a
b
x
a
x
b
x
a
a
b
x
f
<

⎪⎩





<
<

=
,
,
,
,
,
0
,
1
ξ

1.2.8.2.
Нормальное (гауссовское) распределение
)
,
(
2
σ
a
N
:
0
,
,
2 1
)
(
2 2
2
)
(
2 2
>

=

σ
πσ
σ
ξ
R
a
е
x
f
а
х
1.2.8.3.
Экспоненциальное распределение
)
(
λ
E
:
( )
0
,
0
,
0 0
,
1 1
>
⎪⎩



<

=



λ
λ
λ
ξ
x
x
e
x
f
x
1.2.8.4.
Распределение
2
χ
с k степенями свободы
)
(
1
k
H
:
( )









>












Γ
=


0
,
0
,
,
0
,
2 2
2 1
2 1
2
x
Z
k
x
e
x
k
x
f
x
k
ξ
где






Γ
2
k
– гамма-функция, которая определяется выражением
dy
e
y
x
y
x




=
Γ
0 1
)
(
Гамма-функция обладает следующими свойствами:
)
(
)
1
(
x
x
x
Γ
=
+
Γ
,
!
)
1
(
k
k
=
+
Γ
,
1
)
2
(
)
1
(
=
Γ
=
Γ
,
π
=






Γ
2 1
1.2.8.5.
Распределение Стьюдента с k степенями свободы
)
(
1
k
T
:
Z
k
k
x
k
k
k
x
f
k









+






Γ





⎛ +
Γ
=
+

,
1 2
2 1
)
(
2 1
2
π
ξ

1.2.8.6.
Распределение Фишера с
k
m, степенями свободы
)
,
(
1
k
m
F
:
( )
(
)









>
+






Γ






Γ





⎛ +
Γ
=
+

0
,
0
,
,
,
0
,
2 2
2 2
1 2
2 2
x
Z
m
k
x
mx
k
x
m
k
m
k
m
k
x
f
m
k
m
m
k
ξ
1.2.8.7.
Гамма-распределение
)
,
(
1
b
a
Γ
:
( )






>
>
>
Γ
=


0
,
0
,
0
,
0
,
0
,
)
(
1 1
x
a
b
x
e
x
b
a
x
f
b
x
a
a
ξ
1.2.8.8.
Одномерное распределение Уишарта
)
,
(
2 1
σ
k
W
При
2 2
σ
=
b
,
2
k
a
= гамма-распределение представляет собой одномерное распределение Уишарта
)
,
(
2 1
σ
k
W
с плотностью вероятности вида
( )









>
>






Γ
=


0
,
0
,
0
,
0
,
2 2
1 2
2 1
2 2
2
x
Z
k
x
e
x
k
x
f
x
k
k
k
σ
σ
σ
ξ
Легко заметить, что при
1 2
=
σ
распределение
)
,
(
2 1
σ
k
W
представляет собой распределение
k
H
1.2.9. Средства Matlab для изучения одномерных распределений
В Matlab в пакете статистических программ
stats
(каталог
\Matlab\toolbox\stats
) имеются программы для расчета плотностей вероятности и функций распределения многих известных распределений. Имена функций для расчета плотностей вероятности оканчиваются буквами pdf (probability den-
sity function)¸ а для расчета функций распределения – буквами cdf (cumulative distribution function).
Функции Matlab для расчета плотностей вероятности
y=chi2pdf(x,k
) – расчет значения плотности вероятности распределения
2
χ
с k степенями свободы в точке x .
y=exppdf(x,lambda)
– расчет значения плотности вероятности экспоненци- ального распределения с параметром
λ
в точке x .
y=fpdf(x,m,k)
– расчет значения плотности вероятности распределения Фи- шера с m , k степенями свободы в точке x .
y=gampdf(x,a,b)
– расчет значения плотности вероятности гамма- распреде- ления с параметрами
b
a,
в точке x .
y=normpdf(x,a,sigma)
– расчет значения плотности вероятности нормально- го распределения с параметрами a ,
σ
в точке x , a – математическое ожида- ние,
σ
– среднее квадратичное отклонение.
  1   2   3   4   5   6   7   8


написать администратору сайта