Менеджмент - это управление организацией, функционирующей в условиях рыночной экономики.
Блок-схема итерационного алгоритма метода расслоенной выборки.
Заключение
По заданию работы требовалось определить математическое ожидание выходного сигнала X апериодического звена в момент времени T тремя методами. В результате решения данной задачи тремя способами были получены следующие результаты:
§ Используя стандартную схему статистического моделирования
§ Используя метод расслоенной выборки
§ Аналитически
Использование метода расслоенной выборки обеспечило снижение требуемого количества опытов по сравнению со стандартной схемой в 10.85 раз.
Приложения
Приложение А
Аналитические расчеты, произведенные в математическом пакете MathCAD.
Приложение Б
Программная реализация стандартной схемы статистического моделирования
unit Standart;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons;= class(TForm): TMemo;: TEdit;: TMemo;: TButton;: TBitBtn;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };=9;=0.001;=0.01;=1300;=0.5;: TForm1;
{$R *.dfm}TForm1.Button1Click(Sender: TObject);,Sx2,mx,Dx,G,a,x,Sx2n,Sxn,mxn,Dxn:real;,j,ll:integer;,nn,n,n1,n2:longint;:boolean;:=0;:=0;;:=200;.Lines.Clear;.Lines.Clear;i:=1 to nn do:=random*0.4+1;:=random*0.2+0.6;:=1;j:=1 to kk do x:=x+a*x*h+g*1.2*a*h;:=Sx+x;:=Sx2+sqr(x);;:=Sx/nn;:=Sx2/(nn-1)-sqr(mx);:=round(alfa*Dx/sqr(eps));.Lines.Add('Mx='+FloatToStr(mx));.Lines.Add('Dx='+FloatToStr(Dx));.Lines.Add('ntreb='+FloatToStr(ntreb));.Lines.Add('Sx='+FloatToStr(Sx));.Lines.Add('Sx2='+FloatToStr(Sx2));.Lines.Add('nn='+FloatToStr(nn));:=0;:=true;nn<ntreb do:=ntreb-nn;.text:=floattostr(n1);(n1>8500) then n1:=n1 div 2beginn1<7 then n1:=n1*2;end;i:=nn to n1+nn do:=random*0.4+1;:=random*0.2+0.6;:=1;j:=1 to kk do x:=(a*x+g*1.2*a)*h+x;:=Sx+x;:=Sx2+sqr(x);;.Lines.Add('n1='+FloatToStr(n1));:=(Sx)/(n1+nn);:=(Sx2)/(n1+nn-1)-sqr(mx);.Lines.Add('Sxn='+FloatToStr(Sx));.Lines.Add('Sx2n='+FloatToStr(Sx2));.Lines.Add('mx='+FloatToStr(mx));.Lines.Add('Dx='+FloatToStr(Dx));:=n1+nn;:=round(alfa*Dx/sqr(eps));.Lines.Add('nn='+FloatToStr(nn));.Lines.Add('ntreb='+FloatToStr(ntreb));.Lines.Add('************************');
end.
Приложение В
Программная реализация метода расслоенной выборки
unit Viborka;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Buttons, StdCtrls;= class(TForm): TMemo;: TMemo;: TMemo;: TMemo;: TMemo;: TMemo;: TMemo;: TButton;: TBitBtn;: TEdit;: TEdit;: TEdit;: TStaticText;: TStaticText;: TStaticText;: TStaticText;: TStaticText;: TStaticText;: TStaticText;: TStaticText;: TStaticText;: TStaticText;: TMemo;: TMemo;: TMemo;: TMemo;: TMemo;: TStaticText;: TStaticText;: TStaticText;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;Okno2;
{$R *.dfm}TForm1.Button1Click(Sender: TObject);=0.001;=0.01;=9;=10;=0.1;=1300;=1.3;:array [1 10] of longint;:array [1 10] of real;,n:real;,j,jj,jj1:integer;:boolean;,Mx,Mxcp,Sx,Sx2,x,qk2,qk,g,a,Disp,treal,xn:real;;:=200;:=0;:=true;:=0;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;.Lines.Clear;n<ntreb do begin:=0;:=0;:=0;:=0;:=0;i:=1 to k do begin:=0;:=0;f then Nk[i]:=9[i]:=round(ntreb*Pk*sqrt(Dk[i])/qk2);j:=1 to Nk[i] do begin:=random*0.4+1;:=random*Pk*0.2+0.6+Pk*(i-1)*0.2;:=1;jj:=1 to kk do begin x:=(a*x+g*a*1.2)*h+x;;:=Sx+x;:=Sx2+sqr(x);;:=Sx/Nk[i];[i]:=Sx2/Nk[i]-sqr(Sx/Nk[i]);:=Dx+(Pk*Pk)*Dk[i]/Nk[i];:=Mxcp+Pk*Sx/Nk[i];i of
: begin //Memo1.Lines.Clear;.Lines.Add('Mx='+FloatToStr(Mx));.Lines.Add('Dx='+FloatToStr(Dk[i]));.Lines.Add('Disp='+FloatToStr(Disp));.Lines.Add('Nk='+FloatToStr(Nk[i]));.Lines.Add('Sx='+FloatToStr(Sx));.Lines.Add('Sx2='+FloatToStr(Sx2));.Lines.Add('n='+FloatToStr(n));.Lines.Add('ntreb='+FloatToStr(ntreb));.Lines.Add('***********');;
: begin //Memo2.Lines.Clear;.Lines.Add('Mx='+FloatToStr(Mx));.Lines.Add('Dx='+FloatToStr(Dk[i]));.Lines.Add('Nk='+FloatToStr(Nk[i]));.Lines.Add('Sx='+FloatToStr(Sx));.Lines.Add('Sx2='+FloatToStr(Sx2));.Lines.Add('n='+FloatToStr(n));.Lines.Add('ntreb='+FloatToStr(ntreb));.Lines.Add('***********');end;
: begin //Memo3.Lines.Clear;.Lines.Add('Mx='+FloatToStr(Mx));.Lines.Add('Dx='+FloatToStr(Dk[i]));.Lines.Add('Disp='+FloatToStr(Disp));.Lines.Add('Nk='+FloatToStr(Nk[i]));.Lines.Add('Sx='+FloatToStr(Sx));.Lines.Add('Sx2='+FloatToStr(Sx2));.Lines.Add('n='+FloatToStr(n));.Lines.Add('ntreb='+FloatToStr(ntreb));.Lines.Add('***********');end;