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.

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


 

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

54269. Формування самостійності молодших школярів 46 KB
  Чи варто переконувати що початкова ланка загальноосвітньої школи маючи специфічні та об’єктивні можливості може і повинна реалізовувати таку змістову лінію яка спрямована на розвиток самостійності дитини. Зміст самостійності як провідної особистісної якості У практичній роботі вчителі початкової школи нерідко вкладають різний зміст у поняття самостійність. У той же час недоцільно штучно розширювати це поняття внаслідок чого може відбутися підміна змісту самостійності іншим неспецифічним поняттям.
54270. Культура Древнего Рима: основные особенности, этапы исторического развития и значение в истории культуры 16.65 KB
  История Древнего рима охватывает период с VII в. До н. э. по V в. н. э. В римской культуре, римском искусстве многое взято у Древней Греции и у древнеиталийской культуры этрусков. Историки считают, что культура римлян получила свое начало от этрусков. Уже в VIII в. они заявили о себе как отважные мореходы и опытные торговцы
54272. Асоціативний диктант Біографія 78.5 KB
  Про критику і критиків у літературі початківця Григорія Яковенка. Найбільш резонансними були памфлети Миколи Хвильового Апологети писаризму Україна чи Малоросія Думки проти течії Миколи Зерова До джерел. Після зречення Миколи Хвильового і саморозпуску ВАПЛІТЕ провідні ролі в літературному процесі...
54273. Використання спеціальних засобів навчання на уроках української мови. Енциклопедія дидактичних матеріалів 394 KB
  Вкажіть правильний варіант відповіді. Укажіть варіант правильного адресування. Укажіть правильний варіант перекладу. Вкажіть варіант у якому всі слова написано згідно з правилами правопису.
54275. Урок обобщающего повторения «Путешествие по материкам» 39.5 KB
  Учитель предлагает утверждение подумав команда отвечает иллюзия или факт. Если правильный ответ – иллюзия и команда может объяснить почему ответ неправильный то количество очков удваивается. Иллюзия Большинство рек Африки принадлежат бассейну Атлантического океана. Иллюзия Водопад Виктория – самый высокий водопад мира.
54276. Тема материнства у творах мистецтва 56.5 KB
  Поглянемо на картини репродукціями яких прикрашений наш клас Ви напевне ще чуєте ту музику під яку заходили до класу Як ви думаєте хто є головним образом картин і музики Учні: Матір із немовлям Свята Марія із Ісусом Мадонна Богоматір Вчитель. Вчитель.
54277. Тема материнства у творах мистецтва 87 KB
  Шуберт Аве Марія Р.Паллай Рідна моя мамо Мета уроку: учити учнів співвідносити живописні образи з музичними; розкрити образ матері через змальований образ Мадонни і музичний образ Аве Марія; дати розуміння понять тших легато стокато; ознайомити з піснею В. Шуберта Аве Марія музичний інструмент магнітофон СД – диск Чарівниці. Діти заходять до класу під звучання пісні у виконанні Дніпропетровської капели бандуристів Чарівниці Діва Марія.