36819

ОЗНАКОМЛЕНИЕ С СИСТЕМОЙ MATLAB. ОДНОМЕРНЫЕ РАСПРЕДЕЛЕНИЯ ТЕОРИИ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ

Лабораторная работа

Информатика, кибернетика и программирование

Язык программирования Matlab является интерпретатором. Это значит, что каждая инструкция программы распознается и тут же исполняется. Этап компиляции полной программы отсутствует. Интерпретация означает, что Matlab не создает исполняемых конечных программ. Они существуют лишь в виде m-файлов (файлов с расширением m)

Русский

2013-09-23

93.5 KB

46 чел.

ЛАБОРАТОРНАЯ РАБОТА № 1.

ОЗНАКОМЛЕНИЕ С СИСТЕМОЙ MATLAB. ОДНОМЕРНЫЕ РАСПРЕДЕЛЕНИЯ ТЕОРИИ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ

1.1. Цель работы

1.2. Теоретические положения

1.2.1. Общие сведения о системе Matlab 

1.2.2. Запуск системы Matlab 

1.2.3. Сеанс работы с Matlab 

1.2.4. Элементы программирования на языке Matlab 

1.2.5. Справочная система Matlab 

1.2.6. Создание m-файлов-сценариев

1.2.7. Построение графиков функций одной переменной

1.2.8. Плотности вероятностей некоторых одномерных распределений

1.2.9. Средства Matlab для изучения одномерных распределений

1.3. Порядок выполнения работы

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

Для формирования упорядоченных u1095 числовых последовательностей в 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. Построение графиков функций одной переменной

Для построения графиков функций одной переменной y = f (x) в Matlab имеется функция plot. График строится в декартовой системе координат по заданным массивам значений аргумента и функции. Заданные этими массивами точки соединяются прямыми линиями. Имеется возможность изменять тип и цвет линии и тип узловых точек (маркер). Вызов этой функции осуществляется командой plot(x,y,s) где x, y – одномерные массивы одинаковой размерности; x – массив значений аргумента функции y = f (x); y – массив значений функции y = f (x); s – строковая константа, определяющая цвет u1083 линии, маркер узловых точек и тип линии. Эта константа может содержать от одного до трех символов.

Цвет линии определяется символами 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.9. Средства Matlab для изучения одномерных распределений

В Matlab в пакете статистических программ stats (каталог \Matlab\toolbox\stats) имеются программы для расчета плотностей вероятности и функций распределения многих известных распределений. Имена функций для расчета плотностей вероятности оканчиваются буквами pdf (probability density 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) – расчет значения плотности вероятности гамма- распределения с параметрами a,b в точке x .

y=normpdf(x,a,sigma) – расчет значения плотности вероятности нормального распределения с параметрами a , σ в точке x , a – математическое ожидание, σ – среднее квадратичное отклонение.

y=tpdf(x,k) – расчет значения плотности вероятности распределения Стьюдента с k степенями свободы в точке x .

y=unifpdf(x,a,b) – расчет значения плотности вероятности равномерного в промежутке (a,b) распределения в точке x .

Функции Matlab для расчета функций распределения

y=chi2сdf(x,k) – расчет значения функции распределения распределения χ 2 с k степенями свободы в точке x .

y=expсdf(x,lambda) – расчет значения функции распределения экспоненциального распределения с параметром λ в точке x .

y=fсdf(x,m,k) – расчет значения функции распределения распределения Фишера с m, k степенями свободы в точке x .

y=gamсdf(x,a,b) – расчет значения функции распределения гамма- распределения с параметрами a,b в точке x .

y=normсdf(x,a,sigma) – расчет значения функции распределения нормального распределения с параметрами a , σ в точке x , a – математическое ожидание, σ – среднее квадратичное отклонение.

y=tсdf(x,k) – расчет значения функции распределения распределения Стьюдента с k степенями свободы в точке x .

y=unifсdf(x,a,b) – расчет значения функции распределения равномерного распределения в промежутке (a,b) распределения в точке x .

Для расчета значений гамма-функции в Matlab имеется функция

y=gamma(x).

1.3. Порядок выполнения работы

1.3.1. Для каждого распределения п. 1.2.8 вывести в одно графическое окно два графика плотности вероятности. Один из графиков плотности вероятности получить по собственной u1087 программе, написанной для расчета значений функции плотности вероятности по формулам п. 1.2.8, второй – с использованием функций системы Matlab. Исследовать их зависимость от параметров распределений.

1.3.2. Для каждого распределения п. 1.2.8 вывести в отдельное графическое окно график функции распределения с использованием функций системы Matlab.

Исследовать их зависимость от параметров распределений.


 

А также другие работы, которые могут Вас заинтересовать

74313. Режимы нейтралей высоковольтных ЭС 77 KB
  В установках с глухозаземленной нейтралью всякое замыкание на землю является коротким замыканием и сопровождается большим током к. В установках с изолированной нейтралью замыкание одной из фаз на землю не является коротким. Кроме того при замыканиях на землю возникают значительные нескомпенсированные магнитные потоки нулевой последовательности которые необходимо учитывать вследствие их влияния на установки связи.Трехфазная сеть с глухозаземленной нейтралью В установках с изолированной нейтралью при замыкании на землю одной из фаз треугольник...
74314. Физико-технические свойства проводниковых материалов 30 KB
  Из-за низкого удельного сопротивления, медь широко применяется в электротехнике для изготовления силовых кабелей, проводов или других проводников, например, при печатном монтаже
74315. Воздушные линии электропередач (ЛЭП). Назначения, требования, предъявляемые к конструкции ВЛ. Конструктивное выполнение ВЛ 41 KB
  Воздушные линии электропередач ЛЭП. Воздушными называются линии предназначенные для передачи и распределения ЭЭ по проводам расположенным на открытом воздухе и поддерживаемым с помощью опор и изоляторов. Из анализа условий ВЛ следует что материалы и конструкции линий должны удовлетворять ряду требований: экономически приемлемая стоимость хорошая электропроводность и достаточная механическая прочность материалов проводов и тросов стойкость их к коррозии химическим воздействиям; линии должны быть электрически и экологически...
74316. Опоры ВЛ. Типы и конструкции опор. Расположение проводов и защитных тросов на опорах. Расстояние между фазами 38 KB
  Отличаются опоры материалом исполнением и способом крепления подвязки проводов. Промежуточные опоры наиболее простые служат для поддерживания проводов на прямых участках линии.
74317. Этапы становления и развития электроэнергетики в СССР и РФ 50 KB
  Потребление электроэнергии составляло всего 128 кВт чаc в год на душу населения А благами электроэнергии пользовалось лишь 20 жителей страны. Он наметил строительство в течение 1015 лет 30 районных электростанций в Центральной части страны 20 тепловых и 10 ГЭС создание на этой базе крупной машинной промышленности электрификацию железных дорог.Реализация Плана ГОЭЛРО потребовала титанических усилий напряжения всех сил и ресурсов страны. является определение путей и формирование условий безопасного эффективного и устойчивого...
74318. Электроэнергетическая система (ЭЭС). Электрическая сеть (ЭС), основные понятия и определения. Классификация ЭС 38.5 KB
  Электроэнергетическая система — это находящееся в данный момент в работе электрооборудование энергосистемы и приемников электрической энергии, объединенное общим режимом и рассматриваемое как единое целое в отношении протекающих в нем физических процессов.