48596

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

Курсовая

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

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

Русский

2013-12-12

308 KB

13 чел.

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

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

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

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

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

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

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

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


 

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

7133. Особенности жарочного шкафа 240.23 KB
  Тепловое оборудование предназначено для доведения кулинарных изделий до готовности, их разогрева и поддержания необходимой температуры ...
7134. Логика и теория аргументации 4.26 MB
  Логика и теория аргументации Введение Трудно переоценить значение логики и теории аргументации не только в развитии научного знания, но и в обыденной жизни. Для науки существенным моментом являются эффективные способы обработки информации и методы и...
7135. Бухгалтерский учет на малых предприятиях 186.5 KB
  Введение Предприятия малого бизнеса являются важнейшей составной частью обширного комплекса всех предприятий Российской Федерации. С принятием Гражданского кодекса Российской Федерации, законов о земле, о предприятиях с разной формой собственности п...
7136. Логический синтез цифровых устройств 905.5 KB
  Курсовая работа Логический синтез цифровых устройств Описание работы проектируемого устройства. Объект представляет собой техническое устройство, в которое поступают различные детали. Имеется 5 датчиков, которые определяют соответствие д...
7137. Важность мотивации для успешного развития компании 191 KB
  Введение. Основы мотивационной деятельности. Основы и сущность мотивации и стимулирование трудовой деятельности персонала. Смысл и эволюция мотивации. Содержательные теории мотивации. Мотивация персонала в организациях ...
7138. Понятие вины в уголовном праве 198.5 KB
  Понятие вины в уголовном праве Введение Состав преступления характеризуется совокупностью четырех элементов: объект, объективная сторона, субъект, субъективная сторона. Каждый из этих элементов является для любого состава обязательным. Отсутствие лю...
7139. Курортное оздоровление детей и подростков на российских и зарубежных курортах 218 KB
  Курортное оздоровление детей и подростков на российских и зарубежных курортах Введение Здоровье населения - один из важнейших элементов социального, культурного и экономического развития нашей страны. Именно поэтому Правительство Российской Федераци...
7141. Математическое описание двигателя постоянного тока независимого возбуждения 4.27 MB
  Содержание Математическое описание двигателя постоянного тока независимого возбуждения. Расчет параметров двигателя. Расчет контура тока. Расчет контура скорости...