48596

Сокращение трудоемкости статистического моделирования

Курсовая

Информатика, кибернетика и программирование

При использовании рациональной схемы статистического моделирования обеспечить снижение требуемого количества опытов по сравнению со стандартной схемой не менее чем в 10 раз.2 с учетом статистической независимости k и определим искомую характеристику: Математическое ожидание выходного процесса определяется с учетом решения Дисперсия выходного процесса определяется с помощью уже найденного выше математического ожидания по формуле Используя полученное аналитически значение дисперсии...

Русский

2013-12-12

308 KB

12 чел.

БАЛТИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ "ВОЕНМЕХ"

им.  Д. Ф.  УСТИНОВА

КУРСОВАЯ  работа

по учебной дисциплине __ Стохастические системы управления_____________________________

на тему _ Сокращение трудоемкости статистического моделирования _________________________

студента __________Барышникова        Василия   Игоревича _________________________________

                                                Фамилия ,                             Имя ,            Отчество        студента

группы ______И341_____

 

САНКТ-ПЕТЕРБУРГ

2008  г.

СОДЕРЖАНИЕ

Введение………………………………………………………………………………..3

Основная часть……………………………………………………………………...4

  1.  Аналитическое решение………………………………………………………..4

2.  Стандартная схема статистического моделирования………………………...6

  1.  Метод выделения главной части…………….…………………………………8

ЗАКЛЮЧЕНИЕ…………………………………………………………………………..11

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ……………………………………12

ПРИЛОЖЕНИЯ ………………………………………………………………………....13

  1.  Приложение 1 ………………………………………………………………....13
  2.  Приложение 2 ………………………………………………………………....16


ВВЕДЕНИЕ

Требуется определить математическое ожидание выходного сигнала X неустойчивого апериодического звена в заданный момент времени T. Модель звена:

, ,

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

Допустимая абсолютная погрешность .

Задачу решить тремя способами:

  •  используя стандартную схему статистического моделирования;
  •  используя рациональную схему статистического моделирования с применением комбинированного метода сокращения трудоемкости;
  •  аналитически.

Результаты аналитического решения использовать для проверки результатов статистического моделирования и для обоснования построения рациональной схемы моделирования.

При использовании рациональной схемы статистического моделирования обеспечить снижение требуемого количества опытов по сравнению со стандартной схемой не менее чем в 10 раз.

Исходные данные (Вариант 1):

;

;

;

;

.


ОСНОВНАЯ ЧАСТЬ

1 Аналитическое решение

  В соответствии с заданием необходимо решить дифференциальное уравнение:

, ,                                        (1)

где g = G( t ),

X(0) = A.       

Сначала найдем решение соответствующего однородного дифференциального уравнения:

 Подставим полученное решение однородного дифференциального уравнения (1):

 

Найдем С1 из условия X(0) = A:

В результате имеем:

Решение исходного дифференциального уравнения (1) имеет вид:

,                                                     (2)

Где где  a – случайный параметр, распределенный по равномерному закону в интервале [0.5;1.1],


k - случайный параметр, распределенный по равномерному закону в интервале [0.6;1],

  Для Т=1.2 с учетом статистической независимости k и a определим искомую характеристику:

   Математическое ожидание  выходного процесса определяется с учетом решения (2) [1]:

            (3)

Дисперсия  выходного процесса определяется с помощью уже найденного выше математического ожидания по формуле (3) [1]:

 (4)

Используя полученное аналитически значение дисперсии можно оценить требуемое количество опытов, которое необходимо было бы провести при решении методом статистического моделирования [1]:

,                                                          (5)

где параметр  принят равным 3 (при доверительной вероятности Рд=0,997.

Подставляя в формулу (5) значение, полученное по формуле (4), получим требуемое значение опытов :


2 Стандартная схема статистического моделирования

Поставленная задача решалась с использованием итерационного алгоритма статистического моделирования [1]. Данный алгоритм включает в себя следующие действия:

1. Проведение начальной серии опытов объемом N>=100, накопление сумм и вычисление оценок математического ожидания m*x и дисперсии D*x :

,                                                               (6)

,                                                      (7)

где xi – решение исходного дифференциального уравнения (1), находимое методом Эйлера с шагом h=0.01.

2. Получение оценки требуемого количества опытов:

.                                                           (8)

3. Проверка условия окончания вычислений

.                                                               (9)

4. Проведение дополнительной серии опытов и уточнение оценок математического ожидания m*x и дисперсии D*x , найденных по формулам (6) и (7) в случае невыполнения условия (9):

,                                                     (10)

.                                        (11)

5. Уточнение оценки требуемого количества опытов , найденное по формуле (8) с учетом новых значений математического ожидания и дисперсии, полученных по формулам (10) и (11):

.

6. Повторная проверка условия (9), и, в случае его невыполнения, возврат к пункту 4 для очередного проведения дополнительных серий опытов и уточнения найденных результатов.

Провели начальную серию опытов n = 400. Накопили суммы  и :   Вычислили оценки математического ожидания и дисперсии по (6) и (7):   Получили оценку требуемого количества опытов  по (8):

Так как , то провели дополнительную серию опытов  Для того, чтобы не проводилось лишнее число опытов искусственно уменьшили n в 2 раза. Таким образом,  опытов. Вновь накопили суммы ,  и  уточнили оценки математического ожидания и дисперсии по (9) и (10):    Тогда оценка требуемого количества опытов получилась:  Значение n = 11778+200=11978 опытов.

После данной итерации 11978<21100, следовательно, продолжили выполнение итерационного алгоритма. Получили следующие результаты:

    .

Проверили выполнение условия . Данное условие не выполнилось, так как 21398>21377, следовательно, алгоритм завершил работу.

Окончательные результаты :

 

Дифференциальное уравнение (1) решается численным интегрированием методом Эйлера первого порядка [4] с шагом 0.001. Программа, реализующая итерационный алгоритм, написана в среде Borland Delphi 7 [5]. Текст программы представлен в  Приложении 1.

3.Метод Выделения главной части.

  Требуемое число опытов для решения поставленной задачи с заданной точностью можно уменьшить, если воспользоваться одним из методов снижения трудоемкости статического моделирования. В качестве такого метода рассмотрим метод выделения главной части. [1]

 Решение системы                                                  (12)

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

 Вводится новая переменная состояния  и в системе уравнений (12) выполняется замена переменной  на Z путём подстановки:

                                                      (13)

                                                  (14)       

или

,

.

Оценка искомого математического ожидания определяется в виде:

mx=M[Y(t1,V)]+M[Z(t1,V)],                                                                                  (15)

где первое слагаемое может быть найдено аналитически:

,

G - область возможных значений вектора V, а второе слагаемое определяется по методу статистического моделирования на основе многократного решения полученной новой системы уравнений до момента времени t1: , , V (i) - i-я реализация вектора случайных параметров, N - количество решений системы уравнений для различных V (i).

При удачном выборе функции Y(t,V) дисперсия случайной величины Z(t1,V) может оказаться существенно меньше, чем дисперсия X1(t1,V), что и приведет к сокращению требуемого количества опытов.

3.2 Применение метода выделения главной части к решению задачи

Данный метод способствует уменьшению требуемого числа опытов. Приближенное решение уравнения (1) выберем в виде, удобном для аналитических преобразований:

                     (16)

Введём новую перемеренную состояния ,

отсюда

,

.

Выполним в уравнении (1) замену переменной X на Z :

                                 (17)

Получим новое уравнение:

,  (18)

где ,.  (Учитывая, что A=0)

Оценка искомого математического ожидания определяется в виде (15), где первое слагаемое может быть найдено аналитически:

а второе слагаемое определяется по методу статистического моделирования на основе многократного решения полученного нового уравнения (18).

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

Итак, по схеме итерационного алгоритма статистического моделирования, подробно рассмотренного выше, определим оценку математического ожидания  величины Z.

Таблица  Результаты вычислений

итерации

mz

Dz

Nтреб.

Общее количество опытов

1

-0.2082

0.0138

1238

500

2

-0.2052

0.0136  

1227

700

3

-0.2056

0.0135

1212

900

4

-0.2056

0.0134

1209

1100

В результате, при статистическом моделировании на основе использованного выше алгоритма, получили следующие оценки:

,  ,  

Оценка математического ожидания по (3) равна:

Таким образом, при использовании описанного метода позволило обеспечить снижение требуемого количества опытов по сравнению со стандартной схемой в  раз. Программа, реализующая итерационный алгоритм, написана в среде MATLAB 6.5 [5]. Текст программы представлен в  Приложении 2.


ЗАКЛЮЧЕНИЕ

В ходе выполнения работы были получены следующие результаты:

  •  определено математическое ожидание выходного сигнала неустойчивого апериодического звена в заданный момент времени, которое при решении задачи разными методами составило:
    •  при решении аналитически ;
    •  при решении прямым методом статистического моделирования  (необходимо провести 21377 опытов);
    •  при решении  методом выделения главной части  (необходимо провести 1209 опытов);
  •  снижена трудоемкость статистического эксперимента в 17.7 раза за счет выбора и проведения исследования упрощенной модели.


СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Емельянов В. Ю. Методы моделирования стохастических систем управления. Учебное пособие. СПб, 2004.

2. Ануфриев И. Е. Самоучитель Matlab 5.3/6.x. СПб: БХВ-Петербург, 2002. 736 с.

3. “Положение о курсовых проектах и курсовых работах на факультете информационных и управляющих систем (общие требования)”.


ПРИЛОЖЕНИЯ

Приложение 1

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs,StdCtrls, Buttons;

type

 TForm1 = class(TForm)

   Memo1: TMemo;

   Memo2: TMemo;

   Edit1: TEdit;

   Button1: TButton;

   Memo3: TMemo;

   Memo4: TMemo;

   Memo5: TMemo;

   Memo6: TMemo;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

const

   alfa=9;

   h=0.001;

   eps=0.01;

   kk=1200;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

 var

 Sx,Sx2,mx,Dx,g,a,x,Sx2n,Sxn,mxn,Dxn,aa,kkk,K:real;

 i,j,ll:integer;

ntreb,nn,n,n1,n2:longint;

flag:boolean;

 begin

Sx:=0;

Sx2:=0;

randomize;

nn:=400;

Memo1.Lines.Clear;

Memo2.Lines.Clear;

Memo3.Lines.Clear;

Memo4.Lines.Clear;

Memo5.Lines.Clear;

Memo6.Lines.Clear;

// Начальная серия опытов

for i:=1 to nn do

   begin

   g:=1;

   a:=random*0.6+0.5;

   k:=random*0.4+0.6 ;

   x:=0;

   for j:=1 to kk do x:=(a*x+1*k*a)*h+x;

   Sx:=Sx+x;

   Sx2:=Sx2+sqr(x);

   end;

mx:=Sx/nn;     // Вычисление оценок МО и Дисперсии

Dx:=Sx2/(nn-1)-sqr(mx);

ntreb:=round(alfa*Dx/sqr(eps));     // Оценка Требуемого количества опытов

Memo1.Lines.Add('Mx='+FloatToStr(mx));

Memo1.Lines.Add('Dx='+FloatToStr(Dx));

Memo5.Lines.Add('ntreb='+FloatToStr(ntreb));

Memo6.Lines.Add('Sx='+FloatToStr(Sx));

Memo6.Lines.Add('Sx2='+FloatToStr(Sx2));

Memo5.Lines.Add('nn='+FloatToStr(nn));

n1:=0;

flag:=true;

// Дополнительная серия опытов

randomize;

while nn<ntreb do

begin

     n1:=ntreb-nn;      // Объём дополнительной серии

     edit1.text:=floattostr(n1);

     if (n1>8500) then n1:=n1 div 2

     else begin

     if n1<7 then n1:=n1*2;end;

     for i:=nn to n1+nn do

     begin

     G:=1;

   a:=random*0.6+0.5;

   k:=random*0.4+0.6 ;

     x:=0;

     for j:=1 to kk do x:=(a*x+1*K*a)*h+x;

     Sx:=Sx+x;

     Sx2:=Sx2+sqr(x);

     end;

Memo2.Lines.Add('n1='+FloatToStr(n1));

mx:=(Sx)/(n1+nn); //

Dx:=(Sx2)/(n1+nn-1)-sqr(mx);

Memo3.Lines.Add('Sxn='+FloatToStr(Sx));

Memo3.Lines.Add('Sx2n='+FloatToStr(Sx2));

Memo2.Lines.Add('mx='+FloatToStr(mx));

Memo2.Lines.Add('Dx='+FloatToStr(Dx));

nn:=n1+nn;

ntreb:=round(alfa*Dx/sqr(eps));  //

Memo4.Lines.Add('nn='+FloatToStr(nn));

Memo4.Lines.Add('ntreb='+FloatToStr(ntreb));

Memo4.Lines.Add('************************');

end; end;

end.

Приложение 2

Функция a.m

function ret = g(t,x);

global A;

global G;

global a;

global k;

Y = (A + k * G )*(1+a*t*2)-k*G;

dY = a*k*2;

ret =  k * a * G + a * x + a * Y - dY;

Скрипт-файл Main.m

clear all;

clc;

global A;

global G;

global a;

global k;

G = 1;

t = 1.2;

A = 0;

array = [500 700 900 1100];

n = 0;

index = 1;

disp('Итерация    М.О.      Дисперсия      Треб. кол-во опытов     Общее кол-во опытов');  

ntr = array(1);

while (n < ntr && index < 5)

   

   nn=array(index);

       

   for i = (n+1):1:nn

       k = unifrnd(0.6, 1.0);

       a = unifrnd(0.5, 1.1);

       

       [T,U] = ode23('g', t, 0);

       tmp = U(size(U));

       x(i) = tmp(1);

   end;

   

   Mx = sum(x) / nn;

   Dx = sum(x .^ 2) / (nn - 1) - Mx ^ 2;

   n = nn;

   ntr = round(9 / 0.0001 * Dx);

   d = [index Mx Dx ntr n];

   fprintf('%5.0f    %8.4f    %8.4f              %5.0f               %5.0f\n',d);    

   index = index + 1;

       

end;


 

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

77117. Терроризм, угроза миру и безопасности 21.64 KB
  Терроризм в последние годы стал одной из главных проблем мирового сообщества. Могущественные государства, способные организовать экспедицию на Марс, оснащенные ядерными арсеналами и баллистическими ракетами, оказываются бессильными перед группой людей с автоматами...
77118. Сказ (lyssa, rabies, hydrophobia) 27.5 KB
  На міцну наукову основу вчення про сказ було поставлено завдяки дослідженням Луї Пастера. Ним відкрита антирабічна сироватка. 6 липня 1885 p. цей метод уперше був застосований Пастером для запобігання захворюванню людини, укушеної хворою па сказ собакою.
77119. СОЦИАЛЬНЫЙ И ГОСУДАРСТВЕННЫЙ СТРОЙ КИТАЯ 70.5 KB
  Значительную прослойку господствующего класса составляли чиновники своеобразное личное дворянство феодального Китая служившее опорой централизованной власти. Социальная структура феодального общества Китая несмотря на дробление на мелкие и мельчайшие социальные...
77120. СЛУЖБА МЕТРОЛОГІЇ НА ПІДПРИЄМСТВІ 38.5 KB
  До третьої групи входять: участь в розробці перспективних планів автоматизації виробництва метрологічного забезпечення підприємства; спостереження за засобами вимірювання і автоматизації здійснення заходів по реконструкції засобів вимірювання...
77121. Пути снижения себестоимости перевозок 412.5 KB
  Себестоимость перевозок выраженная в денежной форме величина эксплуатационных расходов транспортного предприятия приходящихся в среднем на единицу продукции транспорта.
77123. Современные кластерные системы 46 KB
  Кластер это модульная многопроцессорная система созданная на базе стандартных вычислительных узлов соединенных высокоскоростной коммуникационной средой. Привлекательной чертой кластерных технологий является то что они позволяют для достижения необходимой производительности...
77124. Создание пользовательских форматов 101 KB
  Если пользовательский формат содержит только одну секцию, Excel применяет его к положительным, отрицательным и нулевым значениям. Если пользовательский формат содержит две секции, то первая применяется к положительным и нулевым значениям, а вторая – к отрицательным.
77125. Політичні орієнтації сучасної української молоді 96.5 KB
  Нинішній етап розвитку українського суспільства, який характеризується продовженням трансформаційних процесів у сфері суспільних цінностей та ідеалів, породжує серйозні модифікації глибинних взаємовідносин людини з державою, владою...