Дифракция электромагнитного поля миллиметрового диапазона на плоских объектах. Струков И.Ф. - 33 стр.

UptoLike

Составители: 

Рубрика: 

где
2
10.926
()
21.7923.104
v
fv
vv
ε
+
=+
++
;
23
1
()
24.1413.4926.67
gv
vvv
ε
+++
;
0
v
<∞
;
8
10
ε
<
program LabRab_Difraction_1_2;
uses Graph; const pi=3.1415926;
var GraphDriver, GraphMode, ErrorCode, Xm, Ym, j, N, i : integer;
v1, v2, Icos, Isin, max, a, z, x, dx, t, lambda, koef: real;
m : array [-400..400] of real;
{ Функция U(x) - вычисление поля через интеграл }
function U (x:real):real;
begin
v1:=sqrt(2/z)*(x-a/2); v2:=sqrt(2/z)*(x+a/2);
Icos:=0; Isin:=0; N:=100; koef:=1;
for j:=1 to N do begin
t:=pi/2*sqr(v1+(v2-v1)/N*j);
{koef:=sqr(cos(arctan(t/sqrt(2/z)/z)/2))*1/sqrt((sqr(z)+sqr(t/sqrt(2/z))));}
Icos:=Icos+cos(t)*koef; { koef - для учета коэффициентов 1/R и
cos^2(fe/2) }
Isin:=Isin+sin(t)*koef;
end;
U:=sqr(Icos)+sqr(Isin);
end;
{ Функция U1(x) - вычисление поля через полиномы }
function U1 (x:real):real;
function f(x:real):real;
begin f:=(1+0.926*x)/(2+1.792*x+3.104*x*x); end;
function g(x:real):real;
begin g:=1/(2+4.141*x+3.492*x*x+6.67*x*x*x); end;
function c(x:real):real;
begin
if x>0 then c:=1/2+f(x)*sin(pi/2*sqr(x))-g(x)*cos(pi/2*sqr(x))
else c:=-(1/2+f(-x)*sin(pi/2*sqr(x))-g(-x)*cos(pi/2*sqr(x)));
end;
function s(x:real):real;
begin
if x>0 then s:=1/2-f(x)*cos(pi/2*sqr(x))-g(x)*sin(pi/2*sqr(x))
else s:=-(1/2-f(-x)*cos(pi/2*sqr(x))-g(-x)*sin(pi/2*sqr(x)));
end;
begin
v1:=sqrt(2/z)*(x-a/2); v2:=sqrt(2/z)*(x+a/2);
U1:=sqr(c(v1)-c(v2))+sqr(s(v1)-s(v2));
end;
{ Процедура инициализации графики }
procedure init;
                  1 + 0.926v                                   1
где f (v) =                       + ε ; g (v ) =                                +ε ;
            2 + 1.792v + 3.104v 2
                                                 2 + 4.141v + 3.492v 2 + 6.67v3
0 ≤ v < ∞ ; ε < 10−8

program LabRab_Difraction_1_2;
uses Graph; const pi=3.1415926;
var GraphDriver, GraphMode, ErrorCode, Xm, Ym, j, N, i : integer;
   v1, v2, Icos, Isin, max, a, z, x, dx, t, lambda, koef: real;
   m : array [-400..400] of real;
{ Ф ункци яU(x) - вы ч и слени еполяч ерези нтеграл }
function U (x:real):real;
begin
  v1:=sqrt(2/z)*(x-a/2); v2:=sqrt(2/z)*(x+a/2);
  Icos:=0; Isin:=0; N:=100; koef:=1;
  for j:=1 to N do begin
   t:=pi/2*sqr(v1+(v2-v1)/N*j);
      {koef:=sqr(cos(arctan(t/sqrt(2/z)/z)/2))*1/sqrt((sqr(z)+sqr(t/sqrt(2/z))));}
   Icos:=Icos+cos(t)*koef; { koef - дляуч етакоэф ф и ци ентов1/R и
      cos^2(fe/2) }
   Isin:=Isin+sin(t)*koef;
  end;
  U:=sqr(Icos)+sqr(Isin);
end;
{ Ф ункци яU1(x) - вы ч и слени еполяч ерезполи номы }
function U1 (x:real):real;
  function f(x:real):real;
  begin f:=(1+0.926*x)/(2+1.792*x+3.104*x*x); end;
  function g(x:real):real;
  begin g:=1/(2+4.141*x+3.492*x*x+6.67*x*x*x); end;
  function c(x:real):real;
  begin
   if x>0 then c:=1/2+f(x)*sin(pi/2*sqr(x))-g(x)*cos(pi/2*sqr(x))
        else c:=-(1/2+f(-x)*sin(pi/2*sqr(x))-g(-x)*cos(pi/2*sqr(x)));
  end;
  function s(x:real):real;
  begin
   if x>0 then s:=1/2-f(x)*cos(pi/2*sqr(x))-g(x)*sin(pi/2*sqr(x))
        else s:=-(1/2-f(-x)*cos(pi/2*sqr(x))-g(-x)*sin(pi/2*sqr(x)));
  end;
begin
  v1:=sqrt(2/z)*(x-a/2); v2:=sqrt(2/z)*(x+a/2);
  U1:=sqr(c(v1)-c(v2))+sqr(s(v1)-s(v2));
end;
{     П роцедураи ни ци али заци и граф и ки }
procedure init;