Построение моделей и их исследование

 

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ










Курсовая работа

по дисциплине

"Моделирование





Выполнил: студент 4 курса

специальности 230101

группы ИТ4-09-05 Зданчук А.И.

Проверил: Гусев В.В.







Серпухов, 2012

Оглавление


Введение

1. Метод обратной функции

2. Метод суперпозиции

3. Метод исключения

4. Нормальные случайные величины

Задание 1. Метод Монте-Карло

Задание 2. Точки равновесия

Задание 3. Моделирование динамических систем

Заключение

Список используемой литературы

Приложение

Введение


Модель - способ замещения реального объекта, используемый для его исследования, когда натуральный эксперимент невозможен, дорог, опасен, долговременен.

Модель несёт системообразующую и смыслообразующую роль в научном познании. На модели изучают неизвестные свойства предметов. Модель стремится как можно более ярко выразить структуру явления, его главные аспекты; является концентрированным выражением сущности предмета или процесса, выделяя только его основные черты.

Процесс моделирования состоит из трёх стадий: формализации (переход от реального объекта к модели), моделирования (исследование и преобразования модели), интерпретации (перевод результатов моделирования в область реальности).

Модель есть зависимость F между входом X и выходом Y. Модель отражает закономерность Y = F (X). Часто модель является законом. Модель верна в рамках допущенных при её построении гипотез. Поэтому модель ограничена некоторой областью и адекватна в ней.

Поскольку модель является выражением конечного ряда и только важнейших для конкретного исследования аспектов сущности, то она не может быть абсолютно идентичной моделируемому объекту. Кроме этого, реальный объект бесконечен для познания. Поэтому нет смысла стремиться к бесконечной точности при построении модели. Для выяснения необходимой степени адекватности обычно строят ряд моделей, начиная с грубых, простых моделей и двигаясь ко все более сложным и точным. Как только затраты на построение очередной модели начинают превышать планируемую отдачу от модели, то уточнение модели прекращают. Первоначальные шаги производятся в каком-либо существующем универсальном моделирующем пакете. После одобрения модели под неё пишется специализированный пакет. Необходимость в этом возникает в случае, если функционирование модели в универсальной среде моделирования не удовлетворяет требованиям быстродействия (или каким-то другим).

Моделирование - дисциплина, ставящая целью построение моделей и их исследование посредством собственных универсальных методов, а также специфических методов смежных с ней.

моделирование обратная функция равновесие

Генерация непрерывных случайных величин


Непрерывная случайная величина характеризуется плотностью или функцией распределения



1. Метод обратной функции


Основная идея: представим и попробуем найти . Допустим, что мы разрешили относительно : . И потребуем, чтобы . Тогда



Т.к. равномерно распределена в [0,1), то и равномерно распределена там же, следовательно, можно записать и так: .

Метод обратной функции применяется редко, т.к. обычно найти очень трудно.

Примеры:

Экспоненциальное распределение:



.Непрерывные случайные величины с заданной гистограммой:



Общая площадь Функция распределения:


или .


Чтобы найти формулу, решим уравнение

1.. Отнимаем от него , затем и т.д. до тех пор, пока не получим отрицательное значение:

2.Ясно, что . Следовательно, .



2. Метод суперпозиции


Применим в случае, если


, где , и .


Тогда моделирование производится следующим образом:

.Генерируется дискретная случайная величина с рядом

2.Генерируется непрерывная случайная величина с плотностью

Пример. Гиперэкспоненциальное распределение.



Моделирование: , где - смоделирована как дискретная случайная величина с рядом .

3. Метод исключения


Пусть некоторая функция удовлетворяет условиям:


1.

2.



Теорема. Пусть некоторая двумерная случайная величина имеет следующую совместную плотность распределения Тогда СВ имеет плотность распределения Доказательство:



Т.о., если требуется моделировать случайную величину с плотностью , то принимаем , тогда . Т.е. достаточно генерировать двумерную , равномерно распределенную в области под , и тогда будет иметь распределение .

Осталось научиться равномерно попадать под кривую (область ). Оказывается, это очень просто: достаточно равномерно попадать в некоторую и рассматривать только те точки, которые - они будут равномерно распределены в .

Например, если , , то легче всего взять и .

Далее применяем метод исключения, т. е результатом моделирования считаем только те , для которых , остальные пропускаем:



4. Нормальные случайные величины


Нормальная случайная величина: : Стандартная нормальная случайная величина: Любая нормальная случайная величина: , где Таким образом достаточно получить датчик стандартной нормальной случайной величины.

Методы:

.Метод суммирования

/* ЦПТ: Для независимых случайных величин произвольным распределением


. */


Пусть ясно, что , . Тогда Если взять , то получим

Существуют более точные формулы, типа . В частности, для :



.Метод обратной функции - интеграл вероятностей или функция Лапласа.

3.Свойство: Метод обратной функции:

Очевидно, что




Т.о. заменяют аппроксимациями, например:


где (Погрешность=0.003).


Задание 1. Метод Монте-Карло


Основывается на теореме о среднем: если на отрезке задана некоторая непрерывная интегрируемая функция то найдется такая точка, принадлежащая этому отрезку, что справедлива формула


(8.11)


Т.е. площадь криволинейной трапеции можно заменить площадью прямоугольника , одной из сторон которого является отрезок , а численное значение другой стороны - (рис.1).

Выберем на отрезке случайных точек Можно

показать, что при достаточно большом выполняется условие



т.е. - среднее между ординатами случайно выбранных точек

- количество испытаний (случайных выборок).


Рис. 1


Для двойного интеграла метод Монте-Карло дает следующую формулу интегрирования:


(8.12)


где - оценка для случайных выборок;

- независимые случайные числа на отрезках



Метод Монте-Карло, как и классические методы, дает приближенные результаты. Погрешность метода Монте-Карло


(8.13)


В отличие от классических методов эта погрешность не зависит от вида подынтегральной функции и от кратности интеграла. Заметим, что ошибку можно сделать сколь угодно малой, увеличивая число испытаний .


Метод Симпсона


Интегрирование по методу Симпсона. Формула трапеций дает результат, сильно зависящий от величины шага h, что сказывается на точности вычисления определенного интеграла особенно в тех случаях, когда функция имеет немонотонный характер. Можно предположить повышение точности вычислений, если вместо отрезков прямых, заменяющих криволинейные фрагменты графика функции f (x), использовать, например, фрагменты парабол, проводимых через три соседних точки графика. Подобная геометрическая интерпретация лежит в основе метода Симпсона для вычисления определенного интеграла. Весь интервал интегрирования [a,b] разбивается на четное число одинаковых отрезков n, длина отрезка также будет равна h= (b-a) /n. Формула Симпсона имеет вид:



Задача 1:

Составить программу и вычислить на ЭВМ интеграл заданной функции на отрезке с точностью методом Монте-Карло и методом Симпсона. Сравнить точность полученных результатов с точным значением интеграла.

Определить, какое число отрезков разбиения для метода Симпсона обеспечило бы достижение точности .


Решение:

ВариантПодынтегральная функция f (x) Пределы интегрирования ab701

1.Вычислим точное значение интеграла:


0.5309799


Программа вычисления на ЭВМ интеграла заданной функции на отрезке с точностью методом Монте-Карло.


function y=monte (a, b, N, func)

S=0;i=1: N=S+func (rand () * (b-a) +a);

y=S* (b-a) /Ny=myf (x),y=x*sqrt (x*x+1) endfunction

printf ('Интеграл по методу Монте-Карло = %.8f ',monte (0,1,100000,myf));


Интеграл по методу Монте-Карло = 0.5224005. Погрешность:


= 0,000008317911


Метод Симпсона:

function y=simpson (a, b, N, func)

S1=0;=0;i=1: +2: N-1=S1+func (a+i* (b-a) /N)i=2: +2: N-2=S2+func (a+i* (b-a) /N)= (b-a) /N

y=h/3* (func (a) +func (b) +4*S1+2*S2)

endfunction('%.8f',simpson (0,1,100,myf))

0.5309805


Погрешность:


0.0000000006


2.Определить, какое число отрезков разбиения для метода Симпсона обеспечило бы достижение точности .

Погрешность метода Симпсона вычисляется по формуле:



Для получаения максимального значения 4й переменной найдём её точки экстремума на промежутке [a,b]


при

Тогда

=max (|0.8264|,|0.553|,|-0.9646|) =0.553

Отсюда:


Точность будет достигаться при N=26 отрезках.

Проверим: printf ('%.8f',simpson (0,1,26,myf))

.05311069

Погрешность:


0.0000001269 <


Задача 2:

Построить графики функций.

Найти площадь фигуры, ограниченной этими графиками (с точностью ) методом Монте-Карло. Расчет точек пересечения заданных функций и расчет интегралов оформить отдельными программами.


ВариантЗаданные функции7

Решение:

1.Построить графики функций.


function y=y1 (x),y=exp (-2*x) endfunctiony=y2 (x),y=-sqrt (9-x^2) endfunctiony=y3 (x),y=0.1*x^2endfunctiony=y4 (x),x=0.8endfunction= [0: 0.01: 1](x,y1 (x))(x,y2 (x))(x,y3 (x))= [0,3]= [0.8, 0.8];(x, y4)



2.Найдём точки пересечения:


function z=f1 (x, y),z=exp (-2*x) - y endfunction

function z=f2 (x, y),z=y-exp (x) endfunction

function z=f3 (x, y),z=y-0.1*x^2 endfunction

function z=f4 (x, y),z=0.8-x endfunction

function [y] =intersect1 (x)

y (1) =f1 (x (1),x (2))

y (2) =f2 (x (1),x (2))

endfunction[y] =intersect2 (x)

y (1) =f1 (x (1),x (2))

y (2) =f4 (x (1),x (2))[y] =intersect3 (x)

y (1) =f2 (x (1),x (2))

y (2) =f4 (x (1),x (2))

endfunction[y] =intersect4 (x)

y (1) =f2 (x (1),x (2))

y (2) =f3 (x (1),x (2))

fsolve ([-1,1], intersect1)=

([0.5,1], intersect2)=

.8([0.1,2], intersect3)=

.8([0.4,0.7], intersect4)=

.576(x) = 0 Max (x) = 0.8 Min (y) = 0.23 Max (y) = 2.23

Программа для нахождения площади методом Монте-карло:

function Sq=monte2d (funcs, N, xt, rect)i= 1: length (funcs)(i) =sign (funcs (i) (xt (1),xt (2)))=0j= 1: N(1) =rand (1,1,'uniform') * (rect (3) - rect (1)) +rect (1)(2) =rand (1,1,'uniform') * (rect (4) - rect (2)) +rect (2)=1i= 1: length (funcs)~ (sign (funcs (i) (t (1),t (2))) ==z (i)) then=0=S+flag

Sq=S* (rect (3) - rect (1)) * (rect (4) - rect (2)) /N

endfunction


Вкачестве точки принадлежащей области возьмём [2.5,0]

d (list (f1,f2,f3,f4),100000000, [2.5,0], [0.0498,-1.0353,3,2.9996])=

.458764


Для оценки точности в качестве реальной площади возьмём площадь, вычесленную методом симпсона:


t=fsolve ([0.1,3], intersect1)(1) =t (1)=fsolve ([3,-1], intersect1)(2) =t (1)=fsolve ([0.1,2], intersect2)(3) =t (1)=fsolve ([2,-1], intersect2)(4) =t (1)

printf ('%.7f',simpson (g (1),3,100000,y21) - simpson (g (1),g (3),100000,y1) - simpson (g (3),2,100000,y31) - (simpson (g (2),3,100000,y22) +simpson (g (4),g (2),100000,y1) - simpson (g (4),2,100000,y32)))

4.7070644


Погрешность:



Задание 2. Точки равновесия


Задание:

1. Определить устойчивость точек равновесия системы.



. Найти точку равновесия системы и определить её тип.



3. Найти точки равновесия системы и определить их тип.



Вариант 7 5 1 - 16 - 3

dx/dt= (5-x) (1+x) (-16+x) (-3+x)


Получим корни:



Точки:

- неустойчивая точка;

- устойчивая точка;

- неустойчивая точка;

- устойчивая точка.

. Найти точку равновесия системы и определить её тип.



Корни: x= 0, y = 0.



Получаем коэффициенты: a=5, b=1, c=-16, d=-3. Строим матрицу:


- не устойчивый узел


. Найти точки равновесия системы и определить их тип.



Получили корни:


x1=5, y1=-4

x2=4, y2=-3


Для первой точки:

Получили коэффициенты: a=1, b=1, c=-1, d=0


, - неустойчивый фокус


Для второй точки:

Получили коэффициенты: a=1, b=1, c=0, d=-1


- седловая точка


Задание 3. Моделирование динамических систем

Задание:

Дана система


·найти точки равновесия

·исследовать их тип

·построить фазовые траектории




x = 0.4472136 y = 2.236068

1.x1 = - 1, y1 = 0=

.472136 - 4.472136

.4472136 2.236068(A)=

.354102 + 0.8660254i

.354102 - 0.8660254i

- неустойчивый фокус


Построим фазовые траектории:


function dy=syst (t, x)

dy=zeros (2,1);

dy (1) =4+5*x (1) ^2-x (2) ^2;

dy (2) =x (1) *x (2) - 1;

endfunction

N=100;

rs=1;

df=2*%pi/ (N-1);

for i=1: N

xn=xs1+rs*cos (df* (i-1));

yn=ys1+rs*sin (df* (i-1));

x0= [xn; yn]; t0=0; t=0: 0.001: 0.1; ym=ode (x0,t0,t,syst);=ym (1,:);=ym (2,:);(xf,yf)

end



C инверсным параметром t:


Заключение


К настоящему времени круг вопросов, связанных с разработкой и использованием численных методов, а также с построением на их основе вычислительных алгоритмов, выделился в самостоятельный быстро развивающийся и обширный раздел - вычислительную математику.

Если при численном подходе дискретизации подвергалась полученная система математических соотношений, то при имитационном подходе на отдельные элементы разбивается сам объект исследования. В этом случае система математических соотношений для объекта-системы в целом не записывается, а заменяется некоторым алгоритмом, моделирующим ее поведение и учитывающим взаимодействие друг с другом моделей отдельных элементов системы. Модели отдельных элементов могут быть как аналитическими, так и алгебраическими.

Алгоритмические модели, использующие как численный, так и имитационный подход, не позволяют получить решения задач в аналитической форме, что затрудняет и усложняет процесс анализа результатов моделирования. Так как применение моделей данного типа возможно лишь при наличии вычислительной техники, то их эффективность зависит от мощности и быстродействия ЭВМ. Несомненным достоинством алгоритмических моделей является отсутствие принципиальных ограничений на сложность модели, что позволяет применять их для исследования систем произвольной сложности.

Использование математической модели, построенной алгоритмическими методами, аналогично проведению экспериментов с реальным объектом, только вместо реального эксперимента с объектом проводится вычислительный эксперимент с его моделью. Задаваясь конкретным набором значений исходных параметров модели, в результате вычислительного эксперимента находим конкретный набор приближенных значений искомых параметров. Для исследования поведения объекта при новом наборе исходных данных необходимо проведение нового вычислительного эксперимента.

Список используемой литературы


1.#"center">Приложение


ЗАДАНИЕ 1.

Задание 1.1 Решить систему линейных алгебраических уравнений, сделать проверку


A= [2 1 5 1; 0.333 - 1 0 - 2; 2 0 1 2; 1 4 7 6]; b= [8; 3; - 5; 0]

>x=linsolve (A,b)

x =

.394644

.497005

.7536998

.517794

>A*x+b

^ (-13) *

.0710543

.0355271

.0710543

.1421085


Задание 1.2 Если возможно, вычислить матрицу, обратную к матрице D.


, где , =7.2.0.

. - 2.1.

.1.1.=

.2.3.

.0. - 2.

.1.1.=

.130.17.

. - 138. - 8.

. - 51. - 63.

>inv (D)=

0.2384529 0.2107399 0.0375838

.7183804 - 0.6424933 - 0.1122622

.5588362 0.5000432 0.0714265


ЗАДАНИЕ 2

Задание 2.1 Изобразите график функции f (x).


>isoview (-10,10,-15,15)

>x=-10: 0.01: 10;

>y= ( ( (x-4.5) ^2). * (x+2)) ^0.5;

>plot (x,y)



Задание 2.2 Изобразите график функции в полярных координатах.


->fi=0: 0.01: 2*%pi;

>ro=2*sin (6*fi);

->polarplot (fi,ro)



ЗАДАНИЕ 3

Задание 3.1 Найти корни полиномов.



. Найдем корни полинома


:

roots (poly ([2,0,-3,0,-5],'x','c'))

ans =

.220D-16 + i

.220D-16 - i

.6324555

.6324555


. Найдем корни полинома


:

roots (poly ([2,0.52,5.4,-7.4],'x','c'))= 1.0446545

0.1574624 + 0.4836558i

.1574624 - 0.4836558i


ЗАДАНИЕ 4

Задание 4.1 Решить задачу Коши.


, y0=0.0

>function z=f1 (x,y),z=1/ (1+y^2) +x^2 endfunction

>y0=0; x0=-10; x=-10: 0.01: 10;

>p=ode (y0,x0,x,f1);

->plot (x,p)



МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ Курсовая работа по дисциплине "Моделир

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2019 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ