48596

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

Курсовая

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

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

Русский

2013-12-12

308 KB

26 чел.

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

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

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

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

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

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

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

группы ______И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;


 

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

76932. Классификация желез внутренней секреции 181.69 KB
  Щитовидная и паращитовидные железы принадлежащие этой группе имеют энтодермальное происхождение и развиваются из эпителия глоточной части первичной кишки из закладки между 1й и 2й висцеральными дугами. В процессе развития формируется щитоязычный проток из дистальных отделов которого возникают доли и перешеек щитовидной железы после чего проток редуцируется. Паращитовидные железы развиваются из эпителия 34 висцеральных жаберных карманов глоточной кишки.
76933. Бранхиогенные железы 180.89 KB
  Внутри железы находятся дольки лежащие между фиброзными перегородками трабекулами. Размеры железы: поперечный 3060 мм продольный 50 мм высота перешейка 515 мм; масса железы 2530 г. Паращитовидные железы гландула паратиреоидеа верхние и нижние овальные тельца длиной 48 мм шириной 34 мм толщиной 23 мм.
76934. Неврогенные железы внутренней секреции: гипофиз, мозговое вещество надпочечника, и шишковидная железа – их строение, топография, функция, развитие 186.73 KB
  Эта энтодермальная структура растет в сторону головного мозга и его третьего желудочка проходя через формирующийся интраклиновидный синхондроз и его канал в полость черепа. Над гипофизом в нижней части промежуточного мозга располагается гипоталамус в составе зрительного перекреста зрительных трактов серого бугра с воронкой сосцевидных тел. Эпифиз входит в состав эпиталамической области промежуточного мозга и связан со зрительными буграми поводками и их треугольниками спайками. Он располагается в широкой борозде между верхними холмиками...
76935. Железы адреналовой системы 178.87 KB
  Интерреналовые тельца добавочные надпочечники возникают при развитии почек и надпочечников. Закладка располагается в задней стенке целома между первичными почками и возникает из мезодермальных клеток образующих корковое вещество почек и надпочечников. Мозговое вещество располагается в центре надпочечников и состоит из крупных клеток окрашиваемых солями хрома.
76936. Надпочечники. Происхождение и развитие гландула супрареналис 180.63 KB
  Из него развивается интерреналовая ткань которая дифференцируется в корковое вещество и добавочные надпочечники. В связи с тем что корковое вещество и гонады развиваются из общего источника мочеполовая складка между ними сохраняется структурная близость и функциональная взаимосвязь проявляющаяся выработкой половых гормонов в сетчатой зоне коры надпочечников. Под капсулой располагается корковое вещество состоящее из: клубочковой зоны вырабатывающей гормоны минералокортикоиды: альдостерон кортикостерон дезоксикортикостерон...
76937. Сосуды малого круга 180.57 KB
  Внутри легких артерии ветвятся также как и бронхи пока не возникает вокруг легочного ацинуса микрососудистое русло из которого путем последовательного слияния венул интраорганных вен возникают крупные легочные вены. В воротах легких на одну легочную артерию приходится две легочные вены: верхняя и нижняя. Легочные вены всего четыре пройдя через перикард вливаются в левое предсердие где и заканчивается малый круг.
76938. Аорта и ее отделы. Ветви дуги аорты и ее грудного отдела (париетальные и висцеральные) 183.06 KB
  Ветви дуги аорты и ее грудного отдела париетальные и висцеральные. Она начинается из левого желудочка восходящей частью аорта асценденс переходящей в дугу аркус а далее в нисходящую часть аорта десценденс которая на уровне IVV поясничных позвонков делится бифуркация аорты на правую и левую общие подвздошные артерии. Луковица возникает изза того что аортальные синусы: правый левый задний как бы выпирают стенку аорты кнаружи в поперечнике она имеет 253 см. Аортальные синусы 3 вместе с полулунными заслонками 3 образуют...
76939. Париетальные и висцеральные (парные и непарные) ветви брюшной аорты. Особенности их ветвления и анастомозы 183.28 KB
  Брюшная аорта лежит за брюшиной вдоль передней и левой поверхности поясничного позвоночника повторяя его изгиб кпереди лордоз и разделяясь на уровне IVV позвонков на общие подвздошные артерии: правую и левую. Париетальные ветви брюшной аорты парные правые и левые: нижние диафрагмальные артерии с верхними надпочечниковыми ветвями 124 с началом на уровне аортальной щели диафрагмы; поясничные артерии с дорсальными спинными кожномышечными и спинномозговыми ветвями. Париетальные ветви анастомозируют между собой в задней брюшной...
76940. Подвздошные артерии 182.17 KB
  Общая подвздошная артерия ( a. iliaca communis): правая и левая - магистральные артерии с диаметром в 1,1-1,2 см - начинаются на уровне IV-V поясничных позвонков (бифуркация аорты), направляются в малый таз, боковых ветвей не имеют и на уровне крестцово-подвздошных суставов разделяются на внутреннюю и наружную подвздошные артерии: правые и левые.