3.9 Орамның магнит өрісі. Центрден қашықтығы (-2R; 2R) аралығында өзгеретін нүктелер үшін, бойынан күші i (А)–ге тең ток өтіп жатқан, радиусі R (м)–ге тең дөңгелек жазық орамның магнит өрісі кернеулілігінің өзгеруін моделдеңдер.
Орамның элементінен r қашықтықта жатқан нүктедегі магнит өрісінің кернеулілігі dH Био–Савар–Лаплас заңымен сипатталады (7 сурет): . Оны пайдаланып, сол нүктедегі орамның толық магнит өрісінің кернелілігін (3.3) табамыз.
7 сурет. Орамның магнит өрісі
7-суреттен R=rcosβ+xcosφ; cosβ=sinα=(R–xcosφ)/r; r2=R2+x2-2Rxcosφ; dl=Rdφ байланыстарын тауып (3.3) теңдікке қою арқылы
формуласын аламыз. аралығында өзгерте отырып, оның әрбір мәні үшін трапеция әдісін пайдаланып H-ты жуықтап есептейміз. Magnitnoe_pole_vitka программасында F(φ) функциясының мәнін есептеу үшін F функциясы қолданылған.
Program Magnitnoe_pole_vitka;
uses Crt, Graph;
var i,R,ur,du,x,dx,F1,F2,H: real;
Gd,Gm,x0,y0,x1,y1,j: integer; st: string;
Function F: real;
var B: real;
begin
B:=sqr(R)+sqr(x)-2*R*x*cos(ur);
if B<>0 then F:=(R-x*cos(ur))/sqrt(B)/B;
end;
begin
Write('i (A)= '); Readln(i); Write('R (м)= '); Readln(R);
Gd:=detect; InitGraph(Gd,Gm,''); SetColor(12); SetTextStyle(7,0,2);
OutTextXY(0,10,'Magnitnoe pole vitka');
x0:=GetMaxX div 2; y0:=GetMaxY div 2;
SetColor(7); Line(0,y0,2*x0,y0); Line(x0,0,x0,2*y0);
Line(x0,0,x0-4,12); Line(x0,0,x0+4,12);
Line(2*x0,y0,2*x0-12,y0-4); Line(2*x0,y0,2*x0-12,y0+4);
SetColor(11); SetTextStyle(0,0,1);
OutTextXY(2*x0-32,y0-15,'a(м)'); OutTextXY(x0+6,0,'H');
OutTextXY(x0+6,y0-12,'0');
For j:=1 to 6 do
begin
SetColor(8); str(-R/2*j:4:2,st); line(0,y0+50*j,2*x0,y0+50*j);
SetColor(7); OutTextXY(x0-42,y0+50*j+4,st);
SetColor(8); str(R/2*j:4:2,st); line(0,y0-50*j,2*x0,y0-50*j);
SetColor(7); OutTextXY(x0-34,y0-50*j-10,st);
str(R/2*j:4:2,st); SetColor(8); line(x0+50*j,0,x0+50*j,2*y0);
SetColor(7); OutTextXY(x0+50*(j-1)+36,y0+8,st);
str(-R/2*j:4:2,st); SetColor(8); line(x0-50*j,0,x0-50*j,2*y0);
SetColor(7); OutTextXY(x0-50*j-16,y0+8,st);
end;
x:= -2*R; dx:=0.001; du:=0.05;
while x<=2*R do
begin
if (abs(x+R)>0.01) and (abs(x-R)>0.01) then
begin
ur:=0; F1:=F; ur:=Pi; F2:=F; H:=(F1+F2)/2; ur:=du;
while ur<=Pi-du do begin H:=H+F; ur:=ur+du; end;
H:=H*i*R*du/(2*Pi);
x1:=Round(x0+x*100/R); y1:=Round(y0-H*100/R);
PutPixel(x1,y1,14); Delay(10);
end;
x:=x+dx;
end;
SetTextStyle(0,0,1); SetColor(11);
Str(i:4:2,st); OutTextXY(74,76,'i = '+st+' A');
Str(R:4:2,st); OutTextXY(74,96,'R = '+st+' м');
Readln; CloseGraph;
end.
Достарыңызбен бөлісу: |