Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
unit Perturb;
interface
function Korrel(s,a1,a2,tau,alfa1,alfa2,beta:real):real;
function Norm:real;
procedure RandProc(h,alfa1,alfa2,beta,s,q11,q12,q22,x1:real;var q1,q2,x2:real);
implementation
function Korrel(s,a1,a2,tau,alfa1,alfa2,beta:real):real;
begin
Korrel:=sqr(s)*(a1*exp(-alfa1*abs(tau))+a2*exp(-alfa2*abs(tau))*cos(beta*tau));
end;
function Norm:real;
var i:integer;
s:real;
begin
Randomize;
s:=0;
for i:=1 to 20 do
s:=s+(Random);
Norm:=0.774596*(s-10);
end;
procedure RandProc(h,alfa1,alfa2,beta,s,q11,q12,q22,x1:real;var q1,q2,x2:real);
var a01,b11,a02,a12,b02,b12,b22,c0,c1:real;
begin
b11:=exp(-alfa1*h);
a01:=s*sqrt(1-sqr(b11));
c0:=exp(-alfa2*h)*(exp(-2*alfa2*h)-1)*cos(beta*h);
c1:=1-exp(-4*alfa2*h);
b02:=sqrt((c1+sqrt(sqr(c1)-4*sqr(c0)))/2);
b12:=2*exp(-alfa2*h)*cos(beta*h);
b22:=-exp(-2*alfa2*h);
a02:=s*b02;
a12:=s*a02/b02;
x2:=Norm;
q1:=a01*x2+b11*q1;
q2:=a02*x2+a12*x1+b12*q12+b22*q22;
end;
end.
interface
function Korrel(s,a1,a2,tau,alfa1,alfa2,beta:real):real;
function Norm:real;
procedure RandProc(h,alfa1,alfa2,beta,s,q11,q12,q22,x1:real;var q1,q2,x2:real);
implementation
function Korrel(s,a1,a2,tau,alfa1,alfa2,beta:real):real;
begin
Korrel:=sqr(s)*(a1*exp(-alfa1*abs(tau))+a2*exp(-alfa2*abs(tau))*cos(beta*tau));
end;
function Norm:real;
var i:integer;
s:real;
begin
Randomize;
s:=0;
for i:=1 to 20 do
s:=s+(Random);
Norm:=0.774596*(s-10);
end;
procedure RandProc(h,alfa1,alfa2,beta,s,q11,q12,q22,x1:real;var q1,q2,x2:real);
var a01,b11,a02,a12,b02,b12,b22,c0,c1:real;
begin
b11:=exp(-alfa1*h);
a01:=s*sqrt(1-sqr(b11));
c0:=exp(-alfa2*h)*(exp(-2*alfa2*h)-1)*cos(beta*h);
c1:=1-exp(-4*alfa2*h);
b02:=sqrt((c1+sqrt(sqr(c1)-4*sqr(c0)))/2);
b12:=2*exp(-alfa2*h)*cos(beta*h);
b22:=-exp(-2*alfa2*h);
a02:=s*b02;
a12:=s*a02/b02;
x2:=Norm;
q1:=a01*x2+b11*q1;
q2:=a02*x2+a12*x1+b12*q12+b22*q22;
end;
end.