Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Моделирование случайных событий.
Цель работы: имитационное моделирование информационных потоков с заданными параметрами на примере одноканальной однофазовой модели.
Методические указания Управление последовательностью исполнения операторов. Существует 4 основных оператора управления последовательностью исполнения инструкций: · оператор условия if в сочетании с операторами else и elseif выполняет группу инструкций в соответствии с некоторыми логическими условиями; · оператор переключения switch в сочетании с операторами case и otherwise выполняет различные группы инструкций в зависимости от значения некоторого логического условия; · оператор условия while выполняет группу инструкций неопределенное число раз в соответствии с некоторым логическим условием завершения; · оператор цикла for выполняет группу инструкций фиксированное число раз. Все операторы управления включают оператор end, чтобы указать конец блока, в котором действует этот оператор управления.
Описание: Оператор условия if... end вычисляет некоторое логическое выражение и выполняет соответствующую группу инструкций в зависимости от значения этого выражения. Если логическое выражение истинно, то MATLAB выполнит все инструкции между if и end, а затем продолжит выполнение программы в строке после end. Если условие ложно, то MATLAB пропусти все утверждения между if и end и продолжит выполнение в строке после end. Операторы if... else... end и if... elseif... end создают дополнительные ветвления внутри тела оператора if: · оператор else не содержит логического условия. Инструкции, связанные с ним, выполняются, если предшествующий оператор if (и, возможно, elseif) ложен; · оператор elseif содержит логическое условие, которое вычисляется, если предшествующий оператор if (и, возможно, elseif) ложен. Инструкции, связанные с оператором elseif, выполняются, если соответствующее логическое условие истинно. Оператор elseif может многократно использоваться внутри оператора условия if.
Синтаксис: switch < выражение> % выражение - это обязательно скаляр или строка case < значение1> инструкции % выполняются, если < выражение> = < значение1> case < значение2> инструкции % выполняются, если < выражение> = < значение2> … otherwise инструкции % выполняются, если < выражение > не совпало ни с одним из значений end Оператор switch... case 1... case k... otherwise... end выполняет ветвления, в зависимости от значений некоторой переменной или выражения. Оператор переключения включает: · заголовок switch, за которым следует вычисляемое выражение (скаляр или строка); · произвольное количество групп case. Заголовок группы состоят из слова case, за которым следует возможное значение выражения, расположенное на одной строке. Последующие строки содержат инструкции, которые выполняются для данного значения выражения. Выполнение продолжается до тех пор, пока не встретится следующий оператор case или оператор otherwise. На этом выполнение блока switch завершается; · группа otherwise. Заголовок включает только слово otherwise, начиная со следующей строки размещаются инструкции, которые выполняются, если значение выражения оказалось не обработанным ни одной из групп case. Выполнение завершается оператором end; · оператор end - является последним в блоке переключателя. Оператор switch работает, сравнивая значение вычисленного выражения со значениями групп case. Для числовых выражений оператор case выполняется, если < значение> ==< выражение>. Для строковых выражений оператор case истинен, если strcmp(значение, выражение) истинно.
Синтаксис: while выражение инструкции end Описание: Оператор цикла с неопределенным числом операций while... end многократно выполняет инструкцию или группу инструкций, пока управляющее выражение истинно. Если выражение использует массив, то все его элементы должны быть истинны, чтобы продолжить выполнение. Чтобы привести матрицу к скалярному значению, следует использовать функции any и all. Выход из white-цикла может быть реализован с помощью оператора break. Если в операторе while управляющее условие является пустым массивом, то такое условие ложно, то есть оператор вида while A, S1, end никогда не выполнит инструкции S1, если А - пустой массив.
Синтаксис: for < переменная цикла> = < нач. знач.>: < приращение>: < конеч. знач.> инструкции end Описание: Оператор цикла for... end выполняет инструкцию или группу инструкций предопределенное число раз. По умолчанию приращение равно 1. Можно задавать любое приращение, в том числе отрицательное. Для положительных индексов выполнение завершается, когда значение индекса превышает < конечное значение>; для отрицательных приращений выполнение завершается, когда индекс становится меньше чем < конечное значение>. Основой любого имитационного эксперимента на ЭВМ служит модель имитируемой системы. Под имитацией понимается численный метод проведения на цифровых вычислительных машинах: экспериментов с математическими моделями, описывающими поведение сложных систем в течение продолжительных периодов времени. Предположим, что модель уже сформирована, и все параметры заданы. Принципиальное отличие имитационного эксперимента от эксперимента в " реальном мире" состоит в том, что в процессе имитации эксперименты проводятся с моделью реальной системы, а не с самой системой. Для полного понимания определения нам понадобится следующий набор понятий. Пусть Y обозначает некоторую выходную (эндогенную) переменную, которую нужно изучить, а Х - вектор, составленный из переменных (экзогенных переменных или переменных управления) Хi. По определению переменные Х воздействуют на переменную Y в соответствии с функциональным соотношением Y = φ (X). Переменная Y называется реакцией, переменные Х - факторами. Функция j называется поверхностью реакции. Частным случаем соответствия Y=j (x) является простая линейная модель.
(1.1.)
где q i - некоторые параметры. Изменяя либо q, либо X, либо обе величины одновременно, можно имитировать реакцию. Эта модель слишком проста и не реальна. Чтобы сделать эту модель реалистичнее, можно добавить случайную величину ε и переписать модель в виде
(1.2.)
Функция плотности вероятностей случайной величины задана в виде f(e, m ), где m - вектор параметров распределения. Модель можно сделать еще более реалистичной (и сложной), если в нее включить преобразования g(Y) и h(Xi) реакции Y и элементов вектора Х. Некоторые из этих преобразований могут быть нелинейными и содержать дополнительные параметры. В модель можно включить также случайные величины g i, каждую с весом b i и свежей функцией распределения y g где m - вектор параметров. Можно ввести зависимость от времени. Тогда модель примет вид:
(1.3.)
Ясно, что такую модель можно исследовать только имитационным методом. Итак, модель, требующая имитационного анализа, должна иметь следующие черты: 1. Большое количество координат вектора Х и их функций. 2. Случайные величины g и e и их распределения. 3. Большое число параметров q, b и m. 4. Много связей d между элементами модели. 5. Нелинейность. 6. Ограничения разных типов. 7. Реакции, зависящие от времени. Популярное:
|
Последнее изменение этой страницы: 2017-03-08; Просмотров: 526; Нарушение авторского права страницы