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

UptoLike

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

Рубрика: 

begin GraphDriver:=Detect;
InitGraph (GraphDriver, GraphMode, '');
ErrorCode:=GraphResult;
if ErrorCode<>grOk then begin
writeln ('Error: ', GraphErrorMsg(ErrorCode)); readln; end; end;
{ Процедура построения координатной сетки }
procedure XYplot; begin Line (Xm, 0, Xm, round(Ym*0.9));
Line (0, Round(0.9*Ym), Xm*2, Round(0.9*Ym));
OutTextXY (Xm+15, 5, 'I(x)');
OutTextXY (Xm+8, Round(Ym*0.45), '0.5');
OutTextXY (Xm+8, Round(Ym*0.26), '0.7');
OutTextXY (Xm*2-25, Round(0.9*Ym)-10, 'x/a');
for i:=-6 to 6 do begin
line(round(Xm+i/6*Xm), round(Ym*0.9)+5, round(Xm+i/6*Xm),
round(Ym*0.9));
OutTextXY (round(Xm+i/6*Xm*0.985)-3, Round(0.92*Ym)+5,
chr(48+abs(i)));
end;
end;
BEGIN Writeln('Рассчет поля дифракции волноводной или рупорной
антенны при малых квадратичных фазовых искажениях .');
WriteLn('Bвeдитe длину волны , размер излучателя и расстояние до
экрана в одних единицах :');
Write('lambda='); ReadLn(lambda);
Write('a='); ReadLn(a);
Write('z='); ReadLn(z);
a:=a/lambda; z:=z/lambda; {Перевод в безразмерные величины }
init;
Xm:=GetMaxX div 2; Ym:=GetMaxY;
XYplot;
max:=0; SetColor(14); write('Через полиномы (желтый) ... ');
for i:=-Xm to Xm do begin
m[i]:=U1(i/Xm*a*6); {Изменение x от -6a до 6a}
if m[i]>max then max:=m[i]; {Поиск максимума для нормировки }
end;
for i:=-Xm to Xm-1 do begin
Line(i+Xm, Round(Ym*(0.9-m[i]/max*0.9)),i+Xm+1,Round(Ym*(0.9-
m[i+1]/max*0.9)));
end; writeln('OK');
max:=0; SetColor(13); write('Через интеграл (розовый) ... ');
for i:=-Xm to Xm do begin
m[i]:=U(i/Xm*a*6); {Изменение x от -6a до 6a}
if m[i]>max then max:=m[i]; {Поиск максимума для нормировки }
end;
for i:=-Xm to Xm-1 do begin
begin GraphDriver:=Detect;
InitGraph (GraphDriver, GraphMode, '');
ErrorCode:=GraphResult;
if ErrorCode<>grOk then begin
writeln ('Error: ', GraphErrorMsg(ErrorCode)); readln; end; end;
{ П роцедурапостроени якоорди натной сетки }
procedure XYplot; begin Line (Xm, 0, Xm, round(Ym*0.9));
Line (0, Round(0.9*Ym), Xm*2, Round(0.9*Ym));
OutTextXY (Xm+15, 5, 'I(x)');
OutTextXY (Xm+8, Round(Ym*0.45), '0.5');
OutTextXY (Xm+8, Round(Ym*0.26), '0.7');
OutTextXY (Xm*2-25, Round(0.9*Ym)-10, 'x/a');
for i:=-6 to 6 do begin
      line(round(Xm+i/6*Xm), round(Ym*0.9)+5, round(Xm+i/6*Xm),
      round(Ym*0.9));
 OutTextXY (round(Xm+i/6*Xm*0.985)-3, Round(0.92*Ym)+5,
      chr(48+abs(i)));
end;
end;
BEGIN Writeln('Р ассчет поляди фракци и волноводной и ли рупорной
антенны при м алых квадрати чных фазовых и скажени ях.');
WriteLn('Bвeди тe дли ну волны, разм ер и злучателяи расстояни е до
      э кранав одни х еди ни цах:');
Write('lambda='); ReadLn(lambda);
Write('a='); ReadLn(a);
Write('z='); ReadLn(z);
a:=a/lambda; z:=z/lambda;       {П еревод вбезразмерны е вели ч и ны }
init;
Xm:=GetMaxX div 2; Ym:=GetMaxY;
XYplot;
max:=0; SetColor(14); write('Черезполи ном ы (желтый) ... ');
for i:=-Xm to Xm do begin
  m[i]:=U1(i/Xm*a*6);            {И зменени еx от-6a до 6a}
  if m[i]>max then max:=m[i]; {П ои ск макси мумадлянорми ровки }
end;
for i:=-Xm to Xm-1 do begin
  Line(i+Xm, Round(Ym*(0.9-m[i]/max*0.9)),i+Xm+1,Round(Ym*(0.9-
      m[i+1]/max*0.9)));
end; writeln('OK');
max:=0; SetColor(13); write('Черези нтеграл (розовый) ... ');
for i:=-Xm to Xm do begin
  m[i]:=U(i/Xm*a*6);             {И зменени еx от-6a до 6a}
  if m[i]>max then max:=m[i]; {П ои ск макси мумадлянорми ровки }
end;
for i:=-Xm to Xm-1 do begin