Построение моделей и их исследование
Стадии процесса моделирования. Функция распределения непрерывной случайной величины. Методы моделирования (обратной функции, суперпозиции, исключения). Нормальные случайные величины. Метод Монте-Карло, точки равновесия. Моделирование динамических систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.08.2013 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ
Курсовая работа
по дисциплине
"Моделирование”
Выполнил: студент 4 курса
специальности 230101
группы ИТ4-09-05 Зданчук А.И.
Проверил: Гусев В.В.
Серпухов, 2012
Оглавление
- Введение
- 1. Метод обратной функции
- 2. Метод суперпозиции
- 3. Метод исключения
- 4. Нормальные случайные величины
- Задание 1. Метод Монте-Карло
- Задание 2. Точки равновесия
- Задание 3. Моделирование динамических систем
- Заключение
- Список используемой литературы
- Приложение
Введение
Модель - способ замещения реального объекта, используемый для его исследования, когда натуральный эксперимент невозможен, дорог, опасен, долговременен.
Модель несёт системообразующую и смыслообразующую роль в научном познании. На модели изучают неизвестные свойства предметов. Модель стремится как можно более ярко выразить структуру явления, его главные аспекты; является концентрированным выражением сущности предмета или процесса, выделяя только его основные черты.
Процесс моделирования состоит из трёх стадий: формализации (переход от реального объекта к модели), моделирования (исследование и преобразования модели), интерпретации (перевод результатов моделирования в область реальности).
Модель есть зависимость F между входом X и выходом Y. Модель отражает закономерность Y = F (X). Часто модель является законом. Модель верна в рамках допущенных при её построении гипотез. Поэтому модель ограничена некоторой областью и адекватна в ней.
Поскольку модель является выражением конечного ряда и только важнейших для конкретного исследования аспектов сущности, то она не может быть абсолютно идентичной моделируемому объекту. Кроме этого, реальный объект бесконечен для познания. Поэтому нет смысла стремиться к бесконечной точности при построении модели. Для выяснения необходимой степени адекватности обычно строят ряд моделей, начиная с грубых, простых моделей и двигаясь ко все более сложным и точным. Как только затраты на построение очередной модели начинают превышать планируемую отдачу от модели, то уточнение модели прекращают. Первоначальные шаги производятся в каком-либо существующем универсальном моделирующем пакете. После одобрения модели под неё пишется специализированный пакет. Необходимость в этом возникает в случае, если функционирование модели в универсальной среде моделирования не удовлетворяет требованиям быстродействия (или каким-то другим).
Моделирование - дисциплина, ставящая целью построение моделей и их исследование посредством собственных универсальных методов, а также специфических методов смежных с ней.
моделирование обратная функция равновесие
Генерация непрерывных случайных величин
Непрерывная случайная величина характеризуется плотностью или функцией распределения
1. Метод обратной функции
Основная идея: представим и попробуем найти . Допустим, что мы разрешили относительно : . И потребуем, чтобы . Тогда
Т.к. равномерно распределена в [0,1), то и равномерно распределена там же, следовательно, можно записать и так: .
Метод обратной функции применяется редко, т.к. обычно найти очень трудно.
Примеры:
Экспоненциальное распределение:
1. Непрерывные случайные величины с заданной гистограммой:
Общая площадь Функция распределения:
или .
Чтобы найти формулу, решим уравнение
1. . Отнимаем от него , затем и т.д. до тех пор, пока не получим отрицательное значение:
2. Ясно, что . Следовательно, .
2. Метод суперпозиции
Применим в случае, если
, где , и .
Тогда моделирование производится следующим образом:
1. Генерируется дискретная случайная величина с рядом
2. Генерируется непрерывная случайная величина с плотностью
Пример. Гиперэкспоненциальное распределение.
Моделирование: , где - смоделирована как дискретная случайная величина с рядом .
3. Метод исключения
Пусть некоторая функция удовлетворяет условиям:
1.
2.
Теорема. Пусть некоторая двумерная случайная величина имеет следующую совместную плотность распределения Тогда СВ имеет плотность распределения Доказательство:
Т.о., если требуется моделировать случайную величину с плотностью , то принимаем , тогда . Т.е. достаточно генерировать двумерную , равномерно распределенную в области под , и тогда будет иметь распределение .
Осталось научиться равномерно попадать под кривую (область ). Оказывается, это очень просто: достаточно равномерно попадать в некоторую и рассматривать только те точки, которые - они будут равномерно распределены в .
Например, если , , то легче всего взять и .
Далее применяем метод исключения, т. е результатом моделирования считаем только те , для которых , остальные пропускаем:
4. Нормальные случайные величины
Нормальная случайная величина: : Стандартная нормальная случайная величина: Любая нормальная случайная величина: , где Таким образом достаточно получить датчик стандартной нормальной случайной величины.
Методы:
1. Метод суммирования
/* ЦПТ: Для независимых случайных величин произвольным распределением
. */
Пусть ясно, что , . Тогда Если взять , то получим
Существуют более точные формулы, типа . В частности, для :
2. Метод обратной функции - интеграл вероятностей или функция Лапласа.
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) |
Пределы интегрирования |
||
a |
b |
|||
7 |
0 |
1 |
1. Вычислим точное значение интеграла:
0.5309799
Программа вычисления на ЭВМ интеграла заданной функции на отрезке с точностью методом Монте-Карло.
function y=monte (a, b, N, func)
S=0;
for i=1: N
S=S+func (rand () * (b-a) +a);
end
y=S* (b-a) /N
endfunction
function y=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;
S2=0;
for i=1: +2: N-1
S1=S1+func (a+i* (b-a) /N)
end
for i=2: +2: N-2
S2=S2+func (a+i* (b-a) /N)
end
h= (b-a) /N
y=h/3* (func (a) +func (b) +4*S1+2*S2)
endfunction
printf ('%.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))
0.05311069
Погрешность:
0.0000001269 <
Задача 2:
Построить графики функций.
Найти площадь фигуры, ограниченной этими графиками (с точностью ) методом Монте-Карло. Расчет точек пересечения заданных функций и расчет интегралов оформить отдельными программами.
Вариант |
Заданные функции |
|||
7 |
Решение:
1. Построить графики функций.
function y=y1 (x),y=exp (-2*x) endfunction
function y=y2 (x),y=-sqrt (9-x^2) endfunction
function y=y3 (x),y=0.1*x^2endfunction
function y=y4 (x),x=0.8endfunction
x= [0: 0.01: 1]
plot (x,y1 (x))
plot (x,y2 (x))
plot (x,y3 (x))
y4 = [0,3]
x = [0.8, 0.8];
plot (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
function [y] =intersect2 (x)
y (1) =f1 (x (1),x (2))
y (2) =f4 (x (1),x (2))
endfunction
function [y] =intersect3 (x)
y (1) =f2 (x (1),x (2))
y (2) =f4 (x (1),x (2))
endfunction
function [y] =intersect4 (x)
y (1) =f2 (x (1),x (2))
y (2) =f3 (x (1),x (2))
endfunction
fsolve ([-1,1], intersect1)
ans =
0
fsolve ([0.5,1], intersect2)
ans =
0.8
fsolve ([0.1,2], intersect3)
ans =
0.8
fsolve ([0.4,0.7], intersect4)
ans =
0.576
Min (x) = 0 Max (x) = 0.8 Min (y) = 0.23 Max (y) = 2.23
Программа для нахождения площади методом Монте-карло:
function Sq=monte2d (funcs, N, xt, rect)
for i= 1: length (funcs)
z (i) =sign (funcs (i) (xt (1),xt (2)))
end
S=0
for j= 1: N
t (1) =rand (1,1,'uniform') * (rect (3) - rect (1)) +rect (1)
t (2) =rand (1,1,'uniform') * (rect (4) - rect (2)) +rect (2)
flag=1
for i= 1: length (funcs)
if~ (sign (funcs (i) (t (1),t (2))) ==z (i)) then
flag=0
end
end
S=S+flag
end
Sq=S* (rect (3) - rect (1)) * (rect (4) - rect (2)) /N
endfunction
Вкачестве точки принадлежащей области возьмём [2.5,0]
monte2d (list (f1,f2,f3,f4),100000000, [2.5,0], [0.0498,-1.0353,3,2.9996])
ans =
2.458764
Для оценки точности в качестве реальной площади возьмём площадь, вычесленную методом симпсона:
t=fsolve ([0.1,3], intersect1)
g (1) =t (1)
t=fsolve ([3,-1], intersect1)
g (2) =t (1)
t=fsolve ([0.1,2], intersect2)
g (3) =t (1)
t=fsolve ([2,-1], intersect2)
g (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. Определить устойчивость точек равновесия системы.
2. Найти точку равновесия системы и определить её тип.
3. Найти точки равновесия системы и определить их тип.
Вариант |
|||||
7 |
5 |
1 |
- 16 |
- 3 |
dx/dt= (5-x) (1+x) (-16+x) (-3+x)
Получим корни:
Точки:
1 - неустойчивая точка;
3 - устойчивая точка;
5 - неустойчивая точка;
16 - устойчивая точка.
2. Найти точку равновесия системы и определить её тип.
Корни: x= 0, y = 0.
Получаем коэффициенты: a=5, b=1, c=-16, d=-3. Строим матрицу:
- не устойчивый узел
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
A =
4.472136 - 4.472136
0.4472136 2.236068
spec (A)
ans =
3.354102 + 0.8660254i
3.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);
xf=ym (1,:);
yf=ym (2,:);
plot (xf,yf)
end
C инверсным параметром t:
Заключение
К настоящему времени круг вопросов, связанных с разработкой и использованием численных методов, а также с построением на их основе вычислительных алгоритмов, выделился в самостоятельный быстро развивающийся и обширный раздел - вычислительную математику.
Если при численном подходе дискретизации подвергалась полученная система математических соотношений, то при имитационном подходе на отдельные элементы разбивается сам объект исследования. В этом случае система математических соотношений для объекта-системы в целом не записывается, а заменяется некоторым алгоритмом, моделирующим ее поведение и учитывающим взаимодействие друг с другом моделей отдельных элементов системы. Модели отдельных элементов могут быть как аналитическими, так и алгебраическими.
Алгоритмические модели, использующие как численный, так и имитационный подход, не позволяют получить решения задач в аналитической форме, что затрудняет и усложняет процесс анализа результатов моделирования. Так как применение моделей данного типа возможно лишь при наличии вычислительной техники, то их эффективность зависит от мощности и быстродействия ЭВМ. Несомненным достоинством алгоритмических моделей является отсутствие принципиальных ограничений на сложность модели, что позволяет применять их для исследования систем произвольной сложности.
Использование математической модели, построенной алгоритмическими методами, аналогично проведению экспериментов с реальным объектом, только вместо реального эксперимента с объектом проводится вычислительный эксперимент с его моделью. Задаваясь конкретным набором значений исходных параметров модели, в результате вычислительного эксперимента находим конкретный набор приближенных значений искомых параметров. Для исследования поведения объекта при новом наборе исходных данных необходимо проведение нового вычислительного эксперимента.
Список используемой литературы
1. http://ru. wikipedia.org/wiki/
2. http://help. scilab.org/
Приложение
ЗАДАНИЕ 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 =
10.394644
21.497005
4.7536998
10.517794
->A*x+b
10^ (-13) *
0.0710543
0.0355271
0.0710543
0.1421085
Задание 1.2 Если возможно, вычислить матрицу, обратную к матрице D.
, где ,
A =7.2.0.
7. - 2.1.
1.1.1.
B =
0.2.3.
1.0. - 2.
3.1.1.
D =
356.130.17.
397. - 138. - 8.
6. - 51. - 63.
->inv (D)
ans =
0.2384529 0.2107399 0.0375838
0.7183804 - 0.6424933 - 0.1122622
0.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 Найти корни полиномов.
1. Найдем корни полинома
:
roots (poly ([2,0,-3,0,-5],'x','c'))
ans =
2.220D-16 + i
2.220D-16 - i
0.6324555
0.6324555
2. Найдем корни полинома
:
roots (poly ([2,0.52,5.4,-7.4],'x','c'))
ans = 1.0446545
0.1574624 + 0.4836558i
0.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)
Размещено на Allbest.ru
Подобные документы
Изучение дисперсных систем и создание программы, реализующей метод Монте-Карло и моделирующей распределение частиц в определенной области. Исследование методов линейных итераций и вязкой суспензии. Характеристики распределения порошков по размерам.
контрольная работа [1,4 M], добавлен 05.12.2014Структурно-информационный анализ методов моделирования динамических систем. Математическое моделирование. Численные методы решения систем дифференциальных уравнений. Разработка структуры програмного комплекса для анализа динамики механических систем.
дипломная работа [1,1 M], добавлен 14.05.2010Проектирование датчика случайных чисел, пригодного для моделирования случайной последовательности с заданным законом распределения. Методы моделирования. Разработка алгоритма и программы датчика. Исследование свойств выработанной им последовательности.
лабораторная работа [124,2 K], добавлен 15.06.2010Понятие компьютерной и информационной модели. Задачи компьютерного моделирования. Дедуктивный и индуктивный принципы построения моделей, технология их построения. Этапы разработки и исследования моделей на компьютере. Метод имитационного моделирования.
реферат [29,6 K], добавлен 23.03.2010Формализация как важнейший этап моделирования. Методы описания и свойства моделей. Адекватность проекта целям моделирования. Основные принципы и значение формализации. Исследование на компьютере информационных моделей из различных предметных областей.
презентация [1,2 M], добавлен 24.01.2011Расчет параметров моделирования в системе Fortran. Описание алгоритма и математической модели системы, их составляющих. Моделирование шума с заданной плотностью распределения вероятностей. Выполнение моделирования работы системы при входном сигнале N(t).
курсовая работа [896,3 K], добавлен 20.06.2012Основные подходы к математическому моделированию макромолекул. Методы молекулярной динамики и Монте-Карло. Механическая модель молекулы. Применения компьютерного эксперимента. Механическая модель молекулы. Преимущества компьютерного моделирования.
реферат [44,9 K], добавлен 19.03.2009Характеристика основных методов для решения различных задач с помощью случайных последовательностей. Реализация и проверка эффективности метода Монте-Карло при его применении на различных примерах. Алгоритм метода имитации. Издержки неопределенности.
курсовая работа [98,9 K], добавлен 04.05.2014Изучение применения трёхмерного моделирования и анимации при создании статической рекламы, динамических заставок для телеканалов, моделирования катастроф, в компьютерных играх. Характеристика создания моделей с помощью модификаторов Edit Poly, Edit Mesh.
практическая работа [4,0 M], добавлен 29.09.2011AnyLogic как инструмент компьютерного моделирования нового поколения. Процесс разработки моделей и реализация имитационных моделей для распространения эпидемического заболевания. Разработка систем обратной связи (диаграммы потоков и накопителей).
контрольная работа [1,8 M], добавлен 21.07.2014