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;


 

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

20951. Робота з командним рядком. Мережна активність 377.58 KB
  Мережна активність Ціль роботи: одержання практичних навичок по роботі з Командним рядком і по виявленню шкідливих програм на локальному комп'ютері під керуванням Microsoft Windows XP за допомогою Командного рядка. Завдання: одержати навички роботи з Командним рядком вивчити й проаналізувати мережну активність можна за допомогою Командного рядка. Робота з Командним рядком Cmd.
20952. Захист від несанкціонованого доступу в операційній системі Windows 366.5 KB
  Завдання: Вивчити настроювання Брандмауера Windows .Центру забезпечення безпеки Windows. Брандмауер Windows Меню Пуск Панель керування Брандмауер Windows Рис.
20953. Керування правами користувачів в операційній системі Windows 243 KB
  Домен або глобальні користувачі й групи управляються мережним адміністратором. Операційна система містить кілька вбудованих облікових записів користувачів і груп які не можуть бути вилучені Групи Адміністратори Користувачі що входять у групу Адміністратори мають повний доступ на керування комп'ютером. Оператори архіву Члени групи Оператори архіву можуть архівувати й відновлювати файли на комп'ютері незалежно від усіх дозволів якими захищені ці файли. Досвідчені користувачі Члени групи досвідчених користувачів можуть створювати...
20954. Основні ознаки присутності на комп'ютері шкідливих програм 571.5 KB
  Вивчення настроювань браузера Рис. Значення цього поля збігається з тим адресою яка була автоматично заданий при відкритті браузера Рис. C її допомогою можна в режимі реального часу відслідковувати запущені процеси що виконуються додатки й оцінювати завантаженість системних ресурсів комп'ютера й використання мережі Рис.
20955. Профілактика проникнення шкідливого програмного забезпечення. Реєстр Windows 186.5 KB
  Реєстр Windows Ціль: практичне освоєння студентами науковотеоретичних положень дисципліни з питань захисту інформації від впливу шкідливого програмного забезпечення на основі використання методів і засобів профілактики вірусних атак а також оволодіння ними технікою експериментальних досліджень і аналізу отриманих результатів прищеплювання навичок роботи з обчислювальною технікою. Профілактика проникнення шкідливого програмного забезпечення за допомогою дослідження Реєстру ОС Windows XP Реєстр операційної системи Windows це більша база...
20956. Установка та попереднє настроювання Антивірусу Касперського 949 KB
  Завдання: Вивчити системні вимоги антивірусу й зрівняти їх з параметрами комп'ютера установити й настроїти Антивірус Касперського. Бувають також вимоги до апаратного забезпечення у цьому випадку постулируется необхідність наявності на комп'ютері деякого мінімального обсягу оперативної пам'яті якщо її менше те програма буде дуже повільно працювати або ж не запуститься зовсім вільного простору на диску для розміщення всіх необхідних у роботі додатка файлів тактової частоти процесора від якої залежить продуктивність комп'ютера й інше....
20957. Робота Антивірусу Касперського 593 KB
  Вивчення інтерфейсу У цім завданні вивчається інтерфейс Антивірусу Касперського. У ньому також розташовані посилання на інші вікна  Вікна настроювань призначеного для настроювання завдань і компонентів  Вікна статистики й звітів у якому можна одержати дані про результати роботи антивірусу  Вікна довідкової системи У ході виконання завдання потрібно буде по черзі викликати всі чотири вікна інтерфейсу Антивірусу Касперського й ознайомитися з їхнім зовнішнім виглядом. Після успішного завершення процесу установки Антивірусу Касперського в...
20959. Національно-культурне піднесення 1920-1930-х рр.. Українська культура в період тоталітаризму 1.42 MB
  Початок 1920-х років було для української культури позбавленим світлих перспектив. Розділ Україні між сусідніми державами гальмував національну інтеграцію, в тому числі і в сфері культури. Культурний потенціал Україні був підірваний руйнівними наслідками громадянської війни, часткової окупацією країни. Військове лихоліття не тільки знищило духовні і матеріальні цінності, а й основного творця культурних цінностей - інтелігенцію.