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.

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


 

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

80700. The problem of linguistic meaning. Types of linguistic meaning. Main approaches to the definition of meaning 37.66 KB
  Semasiology (or semantics ) is a branch of linguistics which studies meaning. There are three main categories of definitions which may be referred to as: -analytical or referential definition of meaning - functional or contextual definition of meaning,- operational or information-oriented definition of meaning
80701. Synonymy 32.44 KB
  Synonyms are the words of the same part of speech different in their sound-form but similar in their meaning and interchangeable at least in one context. There are very few perfect synonyms. They usually differ in some aspect of their meaning — according to this they can be ideographic
80702. Antonymy (semantic opposition). Antonyms are words which express opposite or contrasting meanings 32.49 KB
  Antonyms are subdivided into. Gradable — represent the extremes of the quality. There are often adjectives that can be placed on the scale between them (hot-cold). Contradictory-complimentary — cannot exist without each other (dead-alive; leave-stay)3. Conversive — describe opposite attributes of the same situation (to buy-to sell — when one buys another sells)
80704. THE MORPHEMIC STRUCTURE OF THE WORD. TYPES OF MORPHEMES. ALLOMORPHS nd mening: they don’t possessed grmmticl mening. 30.83 KB
  The morpheme is the smallest meaningful unit of form. A form in these cases a recurring discrete unit of speech. Morphemes occur in speech only as constituent parts of words, not independently, although a word may consist of single morpheme. Even a cursory examination of the morphemic structure of English words reveals that they are composed of morphemes of different types: root-morphemes and affixational morphemes. Words that consist of a root and an affix are called derived words or derivatives and are produced by the process of word building known as affixation (or derivation).
80705. MORPHEMIC LEVEL OF ANALYSYS OF WORD-STRUCTURE 33.59 KB
  There are two levels of approach to the study of word- structure: the level of morphemic analysis and the level of derivational or word-formation analysis. Principles of morphemic analysis. In most cases the morphemic structure of words is transparent enough and individual morphemes clearly stand out within the word. The segmentation of words is generally carried out according to the method of Immediate and Ultimate Constituents.
80706. Lexicology as a branch of linguistics. Parts /branches of lexicology. The connection of lexicology with other branches of linguistics 32.51 KB
  Special lexicology – the lexicology of a particular language, i.e. the study and description of its vocabulary and vocabulary units, primarily words as the main units of language.; special lexicology is based on the principles worked out and laid down by general lexicology, a general theory of vocabulary. Special lexicology employs synchronic (q.v.) and diachronic (q.v.) approaches
80708. The word as an arbitrary and motivated sign. Naming. Types of motivation 34.58 KB
  The process of motivation depends on the inner form of the word. The inner form is central point in the lexical meaning which helps to get inside in to the features chosen as the basis of nomination. In linguistics the term MOTIVATION is used to denote the relationship