ВУЗ:
Составители:
Рубрика:
где
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;
Страницы
- « первая
- ‹ предыдущая
- …
- 31
- 32
- 33
- 34
- 35
- …
- следующая ›
- последняя »