Gryno formulė

Iš testwiki.
Pereiti į navigaciją Jump to search

Gryno formulė nustato ryšį tarp dvilypio integralo ir kreivinio integralo antrojo tipo.

∬D(∂Q(x,y)∂x−∂P(x,y)∂y)𝐝x𝐝y=∮LP(x,y)𝐝x+Q(x,y)𝐝y.

Pavyzdžiai

  • Su Gryno formule apskaičiuosime kreivinį integralą ∮L(x−y)dx+(x+y)dy, kur L - apskritimas x2+y2=R2.
Funkcijos P(x,y)=x−y,Q(x,y)=x+y ir ∂P∂y=−1,∂Q∂x=1 netrūkios uždarame rate x2+y2=R2. Todėl pagal Gryno teoremą turime (ρ2=R2, ρ=R):

∮L(x−y)dx+(x+y)dy=∬D[1−(−1)]dxdy=2∬Ddxdy=2s=2∫02πdϕ∫0Rρdρ= =∫02πρ2|0Rdϕ=R2∫02πdϕ=R2ϕ|02π=2πR2.

Patikrinimas. Iš apskritimo lygties x2+y2=R2 gauname:
y=R2−x2,
x=R2−y2.
Todėl
P(x,y)=x−y=x−R2−x2,
Q(x,y)=x+y=R2−y2+y.
Pasinaudodami internetiniu integratoriumi, gauname, kad
∮L(x−y)dx+(x+y)dy=∫−RR(x−R2−x2)dx+∫−RR(R2−y2+y)dy=
(−12xR2−x2+12R2arctan⁡xR2−x2x2−R2+x22)|−RR+12(y(R2−y2+y)+R2arctan⁡yR2−y2)|−RR=
(−12RR2−R2+12R2arctan⁡RR2−R2R2−R2+R22)−(−12(−R)R2−(−R)2+12R2arctan⁡−RR2−(−R)2(−R)2−R2+(−R)22)+
+12(R(R2−R2+R)+R2arctan⁡RR2−R2)−12(−R(R2−(−R)2−R)+R2arctan⁡−RR2−(−R)2)=
(12R2arctan⁡(∞)+R22)−(12R2arctan⁡(−∞)+R22)+
+12(R(0+R)+R2arctan⁡(∞))−12(−R(0−R)+R2arctan⁡(−∞))=
=(12R2π/2+R22)−(12R2(−π/2)+R22)+
+12(R2+R2π/2)−12(R2+R2(−π/2))=
=R2π/2+R2π/2=πR2.
Riba limx→Rarctan⁡xR2−x2x2−R2=limx→Rarctan⁡xx2−R2=limz→0arctan⁡Rz=arctan⁡(∞)=π/2. Beje, arctan⁡(0)=0;arctan⁡(−∞)=−π/2.
Patikrinimo atsakymas gautas du kartus mažesnis, todėl kyla abejonių dėl Gryno formulės prasmės.
Kitoks patikrinimas. Iš apskritimo lygties x2+y2=R2 gauname:
y=Rsin⁡(t),
x=Rcos⁡(t);
dy=Rcos⁡(t)dt,
dx=−Rsin⁡(t)dt.
Todėl
P(x,y)=x−y=Rcos⁡(t)−Rsin⁡(t),
Q(x,y)=x+y=Rcos⁡(t)+Rsin⁡(t).
Pasinaudodami internetiniu integratoriumi, gauname, kad
∮L(x−y)dx+(x+y)dy=−R2∫02π(cos⁡(t)−sin⁡(t))sin⁡(t)dt+R2∫02π(cos⁡(t)+sin⁡(t))cos⁡(t)dt=
R24(2x−sin⁡(2x)+cos⁡(2x)+1)|02π+R24(2x+sin⁡(2x)−cos2(2x))|02π=
R24(2⋅2π−sin⁡(2⋅2π)+cos⁡(2⋅2π)+1)−R24(2⋅0−sin⁡(2⋅0)+cos⁡(2⋅0)+1)+R24(2⋅2π+sin⁡(2⋅2π)−cos2(2⋅2π))−R24(2⋅0+sin⁡(2⋅0)−cos2(2⋅0))=
R24(4π−sin⁡(4π)+cos⁡(4π)+1)−R24(0−sin⁡(0)+cos⁡(0)+1)+R24(4π+sin⁡(4π)−cos2(4π))−R24(0+sin⁡(0)−cos2(0))=
=R24(4π−0+1+1)−R24(0−0+1+1)+R24(4π+0−12)−R24(0+0−12)=
=R24(4π+2)−R24⋅2+R24(4π−1)+R24=
=R2(π+12−12+π−14+14)=
=2πR2.


  • Taikydami Gryno formulę, apskaičiuokime kreivinį integralą

∫Lxydx+(x2+y2)dy, kai L - apskritimas x2+y2=ax (a>0), apeinamas teigiama kryptimi. Kadangi skritulyje x2+y2≤ax funkcijos P(x,y)=xy ir Q(x,y)=x2+y2 bei jų dalinės išvestinės ∂P∂y=x ir ∂Q∂x=2x yra tolydžios, tai duotajam kreiviniam integralui galima taikyti Gryno formulę. Turime: ∫Lxydx+(x2+y2)dy=∬D(2x−x)dxdy=∬Dxdxdy. Dvilypį integralą pakeisime kartotiniu polinėje koordinačių sistemoje, turėdami galvoje, kad apskritimas apeinamas teigiama kryptimi (prieš laikrodžio rodykle). Tuomet kampas ϕ kinta nuo −π2 iki π2. Vadinasi (x=ρcos⁡ϕ, ρ2=aρcos⁡ϕ, ρ=acos⁡ϕ), ∫Dxdxdy=∬Dρ2cos⁡ϕdρdϕ=∫−π2π2cos⁡ϕdϕ∫0acos⁡ϕρ2dρ=∫−π2π2cos⁡ϕρ33|0acos⁡ϕdϕ= =a33∫−π2π2cos4ϕdϕ=2a33∫0π2cos4ϕdϕ=2a33⋅3!!4!!⋅π2=πa38, kur pasinaudojome dvigubu faktorialu.


  • Taikydami Gryno formulę, apskaičiuokime kreivinį integralą

∫Lxy𝐝x+(x2+y2)𝐝y, kai L - apskritimas x2+y2=ax (a>0), apeinamas teigiama kryptimi (prieš laikrodžio rodyklę).

Kadangi skritulyje x2+y2≤ax funkcijos P(x,y)=xy ir Q(x,y)=x2+y2 bei jų dalinės išvestinės ∂P∂y=x ir ∂Q∂x=2x yra tolydžios, tai duotajam kreiviniam integralui galima taikyti Gryno formulę.
Turime:
∫Lxydx+(x2+y2)dy=∬D(2x−x)dxdy=∬Dxdxdy.
Randame apskritimo y išraišką:
x2+y2=ax,
y2=ax−x2,
y=ax−x2.
Randame y išvestinę, o paskui ir dy:
y′=dydx=(ax−x2)′=(ax−x2)′2ax−x2=a−2x2ax−x2;
dy=a−2x2ax−x2dx.
Apskritimo spindulys R=a2, nes pavyzdžiui, kai a=3, tai x2+y2=3x. Žinome, kad šis apskritimas liečiasi koordinačių pradžios taške O(0; 0) ir kad ašis Ox dalina apskritimą pusiau. Vadinasi, kai x=0 ir y=0, tai gauname teisingą lygybę 02+02=3⋅0. Vadinasi taškas (0; 0) priklauso apskritimui x2+y2=3x. Kitas apskritimo taškas yra (3; 0), kuris yra ant Ox ašies. Įstačius taško (3; 0) koordinates į apskritimo lygtį x2+y2=3x gauname 32+02=3⋅3. Žinome, kad taškas (3; 0) yra toliausias taškas ant Ox ašies. Todėl apskritimo x2+y2=3x spindulys yra R=32=a2.
Kadangi apskritimo x2+y2=ax spindulys yra R=a2 ir Ox ašis dalina apskritimą per pusę, tai didžiausia y reikšmė gali būti R=a2. Vadinasi integravimas vyksta pirmame ir ketvirtame ketvirčiuose. Bet, kadangi, skritulio x2+y2≤ax plotas yra vienodas ketvirtame ketviryje kaip ir pirmame, tai užtenka apskaičiuoti skritulio plotą tik pirmame ketvirtyje, o paskui gautą plotą padauginti iš dviejų. Kad apskaičiuoti skritulio x2+y2≤ax plotą pirmame ketvirtyje, turime žinoti integravimo ribas. Nustatome, kad x kinta nuo 0 iki a, o y kinta nuo 0 iki R=a2.
Taikydami Gryno formulę, integruojame (pasinaudodami internetiniu integratoriumi):
∬Dxdxdy=2∫0ax(∫0ax−x2dy)dx=2∫0ax(y|0ax−x2)dx=2∫0axax−x2dx=
=2⋅−x(x−a)(3a3arctan⁡(xa−x)+xa−x(−3a2−2ax+8x2))24xa−x|0a=
=3a3arctan⁡(xa−x)+xa−x(−3a2−2ax+8x2)12|0a=
=3a3arctan⁡(aa−a)+aa−a(−3a2−2a⋅a+8a2)12−3a3arctan⁡(0a−0)+0a−0(−3a2−2a⋅0+8⋅02)12=
=3a3arctan⁡a012−3a3arctan⁡0a12=3a3arctan⁡(error)12−3a3arctan⁡(0)12=
=3a3arctan⁡(∞)12−3a3⋅012=3a3⋅π212−0=3a3⋅π24=a3π8.
Pasitikriname (įstatydami y ir dy ir pasinaudodami internetiniu integratoriumi):
∫Lxydx+(x2+y2)dy=∫Lxax−x2dx+(x2+(ax−x2)2)a−2x2ax−x2dx=
=2∫0a(xax−x2+(x2+(ax−x2)2)a−2x2ax−x2)dx=
=2∫0a(xax−x2+(x2+ax−x2)a−2x2ax−x2)dx=
=2∫0a(xax−x2+ax(a−2x)2ax−x2)dx=
=2∫0a(xax−x2+a2x−2ax22ax−x2)dx=
=2∫0a2x(ax−x2)+a2x−2ax22ax−x2dx=
=2∫0a2ax2−2x3+a2x−2ax22ax−x2dx=
=∫0a−2x3+a2xax−x2dx=∫0ax(a2−2x2)ax−x2dx=
=13ax−x2(−3a2+4ax+2x2)|0a=
=13a⋅a−a2(−3a2+4a⋅a+2a2)−13a⋅0−02(−3a2+4a⋅0+2⋅02)=
=130(−3a2+4a2+2a2)−130(−3a2+0+0)=0−0=0.
Pastaba, kad taip gauname dalyba iš nulio ir neįmanoma vietomis išintegruoti įstatant a arba 0. Bet gauname kažką panašesnio į teisingą atsakymą:
=∫0a−2x3+a2xax−x2dx=
=x(3a3+7a2x−2ax2−8x3)−3a3xa−xarctan⁡xa−x12−x(x−a)|0a=
=(x(3a3+7a2x−2ax2−8x3)12x(a−x)−3a3x(a−x)arctan⁡xa−x12x(a−x))|0a=
=(x(3a3+7a2x−2ax2−8x3)12x(a−x)−3a3arctan⁡xa−x12)|0a=
=(x(3a3+7a2x−2ax2−8x3)12a−x−a3arctan⁡xa−x4)|0a.
Toliau pasinaudojame internetiniu polinomų dalikliu parinkę a=3 gauname (3a3+7a2x−2ax2−8x3)/(a−x)=(−8x3−6x2+63x+81)/(−x+3)=8x2+30x+27. Toliau integruojame:
(x(3a3+7a2x−2ax2−8x3)a−x12(a−x)−a3arctan⁡xa−x4)|0a=
=(x(3⋅33+7⋅32x−2⋅3x2−8x3)3−x12(3−x)−33arctan⁡x3−x4)|03=
=((−8x3−6x2+63x+81)x(3−x)12(−x+3)−27arctan⁡x3−x4)|03=
=((8x2+30x+27)x(3−x)12−27arctan⁡x3−x4)|03=
=((8⋅32+30⋅3+27)3(3−3)12−27arctan⁡33−34)−((8⋅02+30⋅0+27)0(3−0)12−27arctan⁡03−04)=
=((72+90+27)3⋅012−27arctan⁡304)−(0−27arctan⁡(0)4)=
=(0−27arctan⁡(∞)4)−(−27⋅04)=
=(−27⋅π24)−0=−27π8.
Kadangi a3=33=27, tai seniau gautas atsakymas a3π8 įstačius a=3 atitinka ir iš to darome išvada, kad Gryno formulė veikia teisingai (išskyrus minusiuką).

Ploto apskaičiavimas

Plotui apskaičiuoti ploksčios srities naudojamos tokios formulės: D=∮L−ydx=∮Lxdy=12∮Lxdy−ydx. Jos išvedamos šitaip:

∬D(∂Q∂x−∂P∂y)dxdy=∮LPdx+Qdy.
  • Pritaikysim Gryno formulę apskaičiavimui srities D (ploksčios figūros ploto). Jei P(x,y)=−y, Q(x,y)=0. Tada ∂P∂y=−1,∂Q∂x=0. Pagal formulę turime:

∬D(0+1)dxdy=∮L−ydx+0dy. Integralas ∬Ddxdy lygus paaviršiui srities D , todėl, D=∬Ddxdy=−∮Lydx.

  • Sakykime P(x,y)=0, Q(x,y)=x, analoginiu budu randame, kad

D=∮Lxdy.

  • Ir, pagaliau, paėmę funkcijas P(x,y)=−12y,Q(x,y)=12x, gauname formulę

D=∬D(12+12)dxdy=∬Ddxdy=12∮Lxdy−ydx.


Pavyzdžiai

  • Apskaičiuosime plotą apribotą elipse x2a2+y2b2=1, pagal formulę D=∮Lxdy. Panaudoję parametrinę lygtį elipsės: x=acos⁡t, y=bsin⁡t, 0≤t≤2π, dy=bcos⁡t, gauname:

D=∮Lxdy=∫02πacos⁡tbcos⁡tdt=ab2∫02π(1+cos⁡(2t))dt=ab2(2π+sin⁡(2t)2|02π)=πab.


  • Apskaičiuosime plotą figuros apribotos elipse pagal formulę s=∬Ddxdy=12∮Lxdy−ydx.
Sprendimas. Pasinaudoję parametrinėmis elipsės lygtimis x=acos⁡t, y=bsin⁡t, 0≤t≤2π, turime: dx=−asin⁡tdt, dy=bcos⁡tdt, ir pagal formulę gauname
s=12∮Lxdy−ydx=
=12∫02π(acos⁡tbcos⁡t−bsin⁡t(−asin⁡t))dt=ab2∫02π(cos2t+sin2t)dt=ab2∫02πdt=ab2⋅2π=πab.

Jėgos darbas

Jėgos darbas padarytas judant kreive plokštumoje apskaičiuojamas pagal formulę A=∫BCPdx+Qdy. Jėgos darbas padarytas judant erdvine kreive apskaičiuojamas taip: A=∫BCPdx+Qdy+Rdz.

  • Apskaičiuosime darbą jėgos F(x,y) persikeliant materialiam taškui elipse teigiama kryptimi, jeigu jėga kiekviename taške (x; y) elipsės nukreipta į elipsės centrą ir pagal dydį lygi atstumui nuo taško (x; y) iki elipsės centro.
Pagal sąlyga, |F(x,y)|=x2+y2; Jėgos F(x, y) koordinatės tokios: P=−x, Q=−y [ženklas "−" paaiškinamas tuo, kad jėga nukreipta į tašką (0; 0)]. Pagal formulę turime A=−∮Lxdx+ydy, kur L - elipsė x=acos⁡t,y=bsin⁡t, 0≤t≤2π. Todėl

A=−∫02πacos⁡t(−asin⁡t)dt+bsin⁡(t)bcos⁡(t)dt=−∫02π(b2−a2)sin⁡(t)cos⁡tdt= =a2−b22∫02πsin⁡(2t)dt=a2−b24(−cos⁡(2t))|02π=0.

Jei t keistusi nuo 0 iki π2, integralas butu lygus
a2−b24(−cos⁡(2t))|0π2=a2−b24(−cos⁡(2⋅π2))−a2−b24(−cos⁡(2⋅0))=
=a2−b24(−cos⁡π+cos⁡(0))=a2−b24(−(−1)+1)=a2−b22.
Tarkime, jei a=5,b=3, tai padarytas darbas pirmame ketvirtyje yra A=a2−b22=52−322=25−92=162=8.
Kad patikrinti ar apskaičiuota teisingai reikia sudėti visas x reikšmes ant elipsės linijos pirmame ketvirtyje. Taip pat reikia sudėti visas y reikšmes ant elipsės linijos pirmame ketvirtyje. Galiausiai reikia sudėti sumas x ir y reikšmių, kad gauti darbą A pirmame ketvirtyje.
Arba tiesiog darbas yra lygus A=1100∑n=1100xn2+yn2; čia xn yra visos x reikšmės ant elipsės linijos pirmame ketvirtyje nuo 0 iki a; analogiškai yn yra visos y reikšmės ant elipsės linijos pirmame ketvirtyje nuo 0 iki b.
Kuris iš šių variantų yra darbas A, paaiškės pasumavus ir paskaičiavus. Sutapimas ar ne, bet A=3+5=8 pagal pirmą variantą. Na, o pagal antrą variantą turime:
A=510∑n=110(n(3/10))2+((10−n)(5/10))2=
A=(0.32+52+0.62+4.52+0.92+42+1.22+3.52+1.52+32+
+1.82+2.52+2.12+22+2.42+1.52+2.72+12+32+0.52)/10=
=5(5.0089919+4.539823785+4.1+3.7+3.354101966+
+3.08058436+2.9+2.83019434+2.879236+3.041381265)/10=
=5⋅35.43431361/10=17.717156805.
Iš tikro, ko gero, mes apskaičiuojame tokiu budu ne darbą atlikta apeinant elipsės liniją pirmame ketvirtyje, o darbą atlikta apeinant tiesę pirmame ketvirtyje. Štai kodas programos "Free Pascal" (FreePascal IDE for Win32 for i386; Target CPU: i386; Version 1.0.12 2011/04/23; <Compiler Version 2.4.4>; <Debugger GDB 7.2>; Copyright <C> 1998-2009):
    var
    a:longint;
    c:real;
    begin
      for a:=1 to 10
      do
      c:=c+0.5*sqrt(sqr(a*0.3)+sqr((11-a)*0.5));
      writeln(c);
    readln;
    end.
gauname A=17.7171568203085.
Panaudojus šį kodą:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 1000000000  do
   c:=c+0.000000005*sqrt(sqr(a*0.000000003)+sqr((1000000001-a)*0.000000005));
   writeln(c);
   readln;
   end.
gauname atsakymą A=16.4328975236327 po 22 sekundžių ant 2.6 GHz procesoriaus.
Panaudojus šį (teisingesnį) kodą:
   var
   a:longint;
   c:real;
   begin
   for a:=0 to 1000000000  do
   c:=c+sqrt(sqr(a*0.000000003)+sqr((1000000000-a)*0.000000005))/1000000001;
   writeln(5*c);
   readln;
   end.
gauname atsakymą A=16.4328975142850 po 25 sekundžių ant 2.6 GHz procesoriaus.
Integruojant gauname:
A=∫05x2+(3−3x5)2dx=
=1340(34x−45)34x2−90x+225−1125arcsinh⁡(35−34x75)6834|05=
=34⋅5−4534034⋅52−90⋅5+225−1125arcsinh⁡(35−34⋅575)6834−(34⋅0−4534034⋅02−90⋅0+225−1125arcsinh⁡(35−34⋅075)6834)=
=170−45340850−450+225−1125arcsinh⁡(35−17075)6834−(−45340225−1125arcsinh⁡(35)6834)=
=125340625−1125arcsinh⁡(3⋅75−170⋅55⋅75)6834−(−968⋅15−1125arcsinh⁡(0.6)396.50472884948)=
=2568⋅25−1125arcsinh⁡(225−850375)396.50472884948−(−13568−1125⋅0.5688248987396.50472884948)=
=62568−1125arcsinh⁡(−625375)396.50472884948−(−13568−639.928011396.50472884948)=
=9.19117647−1125arcsinh⁡(−53)396.50472884948−(−1.98529412−1.613922772)=
=9.19117647−1125⋅(−1.283795663)396.50472884948−(−3.599216892)=
=9.19117647+3.642504151+3.599216892=16.43289751.
Apskaičiuojame viską nepriekaištingai tiksliai su kompiuterio kalkuliatoriumi:
A=62568−1125arcsinh⁡(−5/3)6834−(−13568−1125arcsinh⁡(3/5)6834)=
=12.833680621236990323769396193322−(−3.5992168895913637545005254840611)=16.432897510828354078269921677383.
Toliau bandome rasti atlikta darbą apeita tiese y=3−3x5 integruojant A=−∮Lxdx+ydy. Randame dy=−35dx. Turime, kad x integravimo ribos yra 0 iki 5, o y integravimo ribos yra nuo 0 iki 3. Gauname:
A=−∮Lxdx+ydy=−(∫05xdx−35(3−3x5)dx)=−∫05(x−35(3−3x5))dx=
=−∫05(x−95+9x25)dx=−∫05(−95+25x+9x25)dx=−∫05(34x25−95)dx=
=−(34x225⋅2−95x)|05=−[(17⋅5225−95⋅5)−(17⋅0225−95⋅0)]=−(17−9)=−8.
Pastebime, kad jeigu elipsė būtų apskritimas tai pirmame ketvirtyje atliktas darbas A=0. Taip yra todėl, kad kai x didėja, tada y reikšmės mažėja. Todėl skaičiuoti darbą, ko gero, galėtų būti teisingiau A=∮Lxdx−ydy arba A=∮L−xdx+ydy. Tuomet akivaizdu, kad A=a2+b22=52+322=17.
Tą patį darba gauname ir apeinant tiese:
A=∮Lxdx−ydy=∫05xdx−−35(3−3x5)dx=∫05(x+35(3−3x5))dx=
=∫05(x+95−9x25)dx=∫05(95+25x−9x25)dx=∫05(16x25+95)dx=
=(16x225⋅2+95x)|05=(8⋅5225+95⋅5)−(17⋅0225+95⋅0)=8+9=17.
Lygiai tą patį darbą gausime ir integruojant taip:
A=∮Lxdx−ydy=∫05xdx+∫03ydy=x22|05+y22|03=252+92=17.
Tą patį gausime ir taip integruojant nuo 0 iki 5:
A=∫F𝐝F=∫05x2+(3−3x5)2𝐝(x2+(3−3x5)2)=
=∫05x2+(3−3x5)20.5(x2+(3−3x/5)2)−0.5(2x+2(3−3x/5)(−0.6))dx=
=∫05x2+(3−3x5)2(x2+(3−3x/5)2)−0.5(x−0.6(3−3x/5)dx=
=∫05x2+(3−3x5)2(x−1.8+0.36x)x2+(3−3x/5)2dx=
=∫05(1.36x−1.8)dx=(1.36x22−1.8x)|05=
=[(0.68x−1.8)x]|05=(0.68⋅5−1.8)⋅5=(3.4−1.8)⋅5=1.6⋅5=8.


  • Nustatyti tiesės y=3−3x5 masę tik pirmame ketvirtyje. Tiesės tankis γ tolstant tiesės taškams nuo centro (koordinačių pradžios taško O) didėja proporcingai, t. y. γ=x2+y2.
Sprendimas. Pasinaudosime masės skaičiavimo formule
m=∫Lγ1+[y′]2dx=∫05x2+y21+[y′]2dx=
=∫05x2+(3−3x5)21+(−35)2dx=
=∫05x2+9−18x5+9x2251+925dx=
=∫059−18x5+34x2253425dx=
=345∫053425x2−185x+9dx=
=345∫051.36x2−3.6x+9dx=
=345(−3.6+2⋅1.36x4⋅1.361.36x2−3.6x+9+4⋅1.36⋅9−(−3.6)28⋅1.363/2ln⁡|2⋅1.36x−3.6+21.36(1.36x2−3.6x+9)|)|05=
=345(−3.6+2.72x5.441.36x2−3.6x+9+48.96−12.968⋅2.5154561/2ln⁡|2.72x−3.6+21.36(1.36x2−3.6x+9)|)|05=
=345(−3.6+2.72x5.441.36x2−3.6x+9+3612.68815132ln⁡|2.72x−3.6+21.36(1.36x2−3.6x+9)|)|05=
=345(−3.6+2.72⋅55.441.36⋅25−3.6⋅5+9+2.8372927689ln⁡|2.72⋅5−3.6+21.36(1.36⋅25−3.6⋅5+9)|)−
−345(−3.6+2.72⋅05.441.36⋅02−3.6⋅0+9+2.8372927689ln⁡|2.72⋅0−3.6+21.36(1.36⋅02−3.6⋅0+9)|)=
=345(105.4434−18+9+2.8372927689ln⁡|13.6−3.6+21.36(34−18+9)|)−
−345(−3.65.449+2.8372927689ln⁡|−3.6+21.36⋅9|)=
=345(105.4425+2.8372927689ln⁡|10+21.36⋅25|)−345(−3.65.44⋅3+2.8372927689ln⁡|−3.6+212.24|)=
=345(505.44+2.8372927689ln⁡|10+234|)−345(−10.85.44+2.8372927689ln⁡|−3.6+212.24|)=
=345(9.191176471+2.8372927689ln⁡|21.66190379|)−345(−10.85.44+2.8372927689ln⁡|−3.6+212.24|)=
=345(9.191176471+8.726250336)−345(−1.985294118+3.469823414)=
=345⋅17.91742681−345⋅1.484529296=16.43289751345=19.16388698.
Kad tą patį apskaičiuoti su programa "Free Pascal" reikia surasti tiesės ilgį, kai x kinta nuo 0 iki 5 (tai yra tiesės ilgis tik pirmame ketviryje):
l=52+32=25+9=34=5.830951895.
Todėl "Free Pascal" kodas yra toks:
  var
  a:longint;
  c:real;
  begin
  for a:=1 to 1000000000  do
  c:=c+sqrt(sqr(a*0.000000003)+sqr((1000000001-a)*0.000000005));
  writeln(sqrt(sqr(3)+sqr(5))*c/1000000000);
  readln;
  end.
duodantis rezultatą 19,163886990613093 po 18 sekundžių su 2,6 GHz procesoriumi.


  • Nustatyti parabolės y=x2 masę pirmame ketvirtyje, kai x kinta nuo 0 iki 10. Tiesės tankis γ tolstant tiesės taškams nuo centro (koordinačių pradžios taško O) didėja proporcingai, t. y. γ=x2+y2.
Sprendimas.
Integruojame (pasinaudodami integralų lentelės (31) formule):
p=∫010(x)2+(x2)2dx=∫010x2+x4dx=∫010x1+x2dx=
=13(x2+1)3/2|010=13(102+1)3/2−13(02+1)3/2=
=13(101)3/2−13=131030301−13=
=338,01247924440330576404858539624.
Toliau, kad surasti kreivės masę (kai kiekviename kreivės taške tankis priklauso nuo tam tikros funkcijos), skaičiuojame:
m=∫010γ1+[y′]2dx=∫010x2+y21+[(x2)′]2dx=∫010x2+(x2)21+[2x]2dx=
=∫010x2+x41+4x2dx=∫010x1+x21+4x2dx=∫010x4x4+5x2+1dx.
Toliau integruodami taip arba taip ir įstačius x=1 gauname 1,0565457675431157081260089778614 ir 0,95907194527687339898921071078133 atitinkamai. Kita vertus, integruojant taip ir taip gauname tą patį rezultatą 112x2(8x4+15x2+6). Todėl šį rezultatą ir panaudojame toliau integruodami:
∫010x4x4+5x2+1dx=112x2(8x4+15x2+6)|010=
=112⋅102(8⋅104+15⋅102+6)−0=
=112⋅100(80000+1500+6)=
=112⋅100⋅81506=679216.6667.
Nepriekaištingai tikslus atsakymas yra:
679216,66666666666666666666666667.
Todėl belieka patikrinti ar Wolframo internetinio integratoriaus atsakymas teisingas paėmus išvėstinę ir paskui įstačius x=1 bei palyginti su neišintegruotu reiškiniu:
(112x2(8x4+15x2+6))′=(112(8x6+15x4+6x2))′=112(48x5+60x3+12x)=4x5+5x3+x=4+5+1=10;
x4x4+5x2+1=4x6+5x4+1=4+5+1=10.
Pasirodo, kad nepridėta šaknis įvedimo formoje į integratorių, bet integruojant taip ir taip gauname tokį patį rezultatą, kuris yra labai sudetingas ir ilgas. Net didžiausioje integralų lentelėje nėra kaip išintegruoti ∫x1+x21+4x2dx. Yra tik ∫a+bxc+pxdx, bet ir tai integravimas gaunasi su dar dviais pažiūrėjimais į integralų lentelę. Todėl pasinaudojame Free Pascal kodu:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+(sqrt(sqr(a*0.00000001)+sqr(sqr(a*0.00000001)))-sqrt(sqr((a-1.0)*0.00000001)+sqr(sqr((a-1.0)*0.00000001))))*sqrt(sqr(a*0.00000001)+sqr(sqr(a*0.00000001)));
writeln(c);
readln;
end.
kuris duoda atsakymą m=5050,00000667382 po 53 sekundžių su 2,6 GHz procesoriumi.
Kai x kinta 0 iki 5, tai integruojant gauname
p=∫05(x)2+(x2)2dx=∫05x2+x4dx=∫010x1+x2dx=
=13(x2+1)3/2|05=13(52+1)3/2−13(02+1)3/2=
=13(26)3/2−13=17576−13=
=43,858169117804135193577942278197.
Tą patį atsakymą (43,8581691815329) gauname ir pasinaudodami Free Pascal kodu:
 var
 a:longint;
 c:real;
 begin
 for a:=1 to 1000000000  do
 c:=c+sqrt(sqr(5.0*a/1000000000)+sqr(sqr(5.0*a/1000000000)))/1000000000;
 writeln(c*5);
 readln;
 end.
Kad rasti masę, kai x kinta 0 iki 5, pasinaudojame Free Pascal kodu:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+(sqrt(sqr(5.0*a/1000000000)+sqr(sqr(5.0*a/1000000000)))-sqrt(sqr(5.0*(a-1.0)*0.000000001)+sqr(sqr(5.0*(a-1.0)*0.000000001))))*sqrt(sqr(5.0*a/1000000000)+sqr(sqr(5.0*a/1000000000)));
writeln(c);
readln;
end.
kuris duoda atsakymą m=325.000000425112 po 73 sekundžių su 2,6 GHz procesoriumi.
Alternatyvus Free Pascal kodas, kuris skaičiuoja pagal formulę m=∫05x2+y21+[y′]2dx=∫05x2+(x2)21+(2x)2dx, yra toks:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(1+sqr(2*5.0*a/1000000000))*sqrt(sqr(5.0*a/1000000000)+sqr(sqr(5.0*a/1000000000)));
writeln(5*c/1000000000);
readln;
end
ir duoda atsakymą m=327.860390075605 po 48 sekundžių su 2,6 GHz procesoriumi. Optimizuotas šito kodo variantas:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(1+sqr(0.00000001*a))*sqrt(sqr(0.000000005*a)+sqr(sqr(0.000000005*a)));
writeln(0.000000005*c);
readln;
end.
duoda atsakymą m=327.86039007560539 po 33 sekundžių su 2,6 GHz procesoriumi.
Kitoks kreivės masės apskaičiavimo Free Pascal kodas yra:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(sqr(0.000000005*a-0.000000005*(a-1))+sqr(sqr(0.000000005*a)-sqr(0.000000005*(a-1))))*sqrt(sqr(0.000000005*a)+sqr(sqr(0.000000005*a)));
writeln(c);
readln;
end.
kuris duoda atsakymą m=327.860389859764 po 41 sekundės su 2,6 GHz procesoriumi. Optimizuotas šito kodo variantas yra kodas:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(sqr(0.000000005)+sqr(sqr(0.000000005*a)-sqr(0.000000005*(a-1))))*sqrt(sqr(0.000000005*a)+sqr(sqr(0.000000005*a)));
writeln(c);
readln;
end
kuris duoda atsakymą m=327.860389859763 po 38 sekundžių su 2,6 GHz procesoriumi. Dar labiau optimizuotas šito kodo variantas yra:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(0.000000000000000025+sqr(sqr(0.000000005*a)-sqr(0.000000005*(a-1))))*sqrt(sqr(0.000000005*a)+sqr(sqr(0.000000005*a)));
writeln(c);
readln;
end.
kuris duoda atsakymą m=327.860389859763 po 38 sekundžių su 2,6 GHz procesoriumi (vadinasi, Free Pascal automatiškai optimizuoja kodą pakeldamas konstantą 0,000000005 kvadratu ir visoms iteracijoms naudodamas gautą 0,000000000000000025 reikšmę).


  • Nustatyti parabolės y=x2 masę pirmame ketvirtyje, kai x kinta nuo 0 iki 10. Tiesės tankis γ tolstant tiesės taškams nuo centro (koordinačių pradžios taško O) didėja proporcingai tik Ox kryptimi, t. y. γ=x.
Sprendimas. Greičiausias būdas apskaičiuoti, tai ko reikalauja sąlyga (uždavinys) yra toks:
m=∫010xdx=x22|010=1022−022=50.
Kitas būdas yra toks:
m=∫010γ1+[y′]2dx=∫010x1+(2x)2dx=∫010x1+4x2dx=
=∫0102x14+x2dx=23(x2+14)3/2|010=
=23(102+14)3/2−23(02+14)3/2=
=23⋅100.253/2−23(12)3=
=669,16822851623458973388183928978 - (2/3)*(1/8)=
=669,16822851623458973388183928978 - 1/12=
=669,08489518290125640054850595645;
čia pasinaudojome integralų lentele ∫xx2±a2dx=13(x2±a2)3/2.
Tuo atveju, jeigu x kinta nuo 0 iki 5 tada:
m=∫05γ1+[y′]2dx=∫05x1+4x2dx=2∫05x14+x2dx=
=23(52+14)3/2−23(02+14)3/2=
=23⋅25.253/2−23(12)3=
=84,586453144434159774345479682393-1/12=
=84,50311981110082644101214634906.
Free Pascal kodas duodą tokį patį rezultatą (kai x kinta nuo 0 iki 5):
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(sqr(0.000000005)+sqr(sqr(0.000000005*a)-sqr(0.000000005*(a-1))))*0.000000005*a;
writeln(c);
readln;
end.
m=84,5031198757743 po 25 sekundžių su 2,6 GHz procesoriumi.
Alternatyvus Free Pascal kodas, skaičiuojantis pagal formulę m=∫05γ1+[y′]2dx=∫05x1+4x2dx yra šitas:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(1+4*sqr(5.0*a/1000000000))*a*5/1000000000;
writeln(c*5/1000000000);
readln;
end.
duodantis atsakymą m=84,5031199367086 po 25 sekundžių su 2,6 GHz procesoriumi. Optimizuotas jo variantas:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(1+4*sqr(5.0*a/1000000000))*a;
writeln(c*sqr(5/1000000000));
readln;
end.
duoda atsakymą m=84,503119936731021 po 23 sekundžių su 2,6 GHz procesoriumi. Dar labiau optimizuotas jo variantas:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqrt(1+4*sqr(0.000000005*a))*a;
writeln(c*sqr(5/1000000000));
readln;
end.
duoda atsakymą m=84,503119936731021 po 17 sekundžių su 2,6 GHz procesoriumi (vadinasi, 1000000000 dalybos operacijų padaroma per 23-17=6 sekundes su 2,6 GHz procesoriumi; tačiau panaudojus šį kodą:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+1/a;
writeln(c);
readln;
end.
gauname atsakymą 21,3004815025070 po 8 sekundžių su 2,6 GHz procesoriumi (beje, ∫11091xdx=ln⁡(109)−ln⁡(1)=9ln⁡(10)−0=20.7232658369464)).


  • Nustatyti parabolės y=x2 masę pirmame ketvirtyje, kai x kinta nuo 0 iki 5. Tiesės tankis γ tolstant tiesės taškams nuo centro (koordinačių pradžios taško O) didėja proporcingai Ox kryptimi ir Oy kryptimi, t. y. γ=x+y.
Sprendimas.
y′=(x2)′=2x;
m=∫05γ1+[y′]2dx=∫05(x+y)1+[y′]2dx=∫05(x+x2)1+4x2dx=2∫05x(1+x)14+x2dx;
Toliau pasinaudodami Wolframo internetiniu integratoriumi gauname, kad:
m=∫05(x+x2)1+4x2dx=(1964x2+1(24x3+32x2+3x+8)−164arcsinh(2x))|05=
=(1964⋅52+1(24⋅53+32⋅52+3⋅5+8)−164arcsinh(2⋅5))−(1964⋅02+1(24⋅03+32⋅02+3⋅0+8)−164arcsinh(2⋅0))=
=(196101(24⋅125+32⋅25+15+8)−164arcsinh(10))−(1961⋅8−164arcsinh(0))=
=(196101(3000+800+15+8)−164arcsinh(10))−(112−164arcsinh(0))=
=(382396101−164arcsinh(10))−(112−164arcsinh(0))=
=(400,21535937026211982341926834875-0,04684723359840577716947805527494)-(0,08333333333333333333333333333333-0)=
=400,16851213666371404624979029348-0,08333333333333333333333333333333=400,08517880333038071291645696014.
Free Pascal kodas:
 var
 a:longint;
 c:real;
 begin
 for a:=1 to 1000000000  do
 c:=c+sqrt(sqr(0.000000005)+sqr(sqr(0.000000005*a)-sqr(0.000000005*(a-1))))*(0.000000005*a+sqr(0.000000005*a));
 writeln(c);
 readln;
 end.
duoda atsakymą m=400,085179290551 po 27 sekundžių su 2,6 GHz procesoriumi.


  • Nustatyti parabolės y=x2 masę pirmame ketvirtyje, kai x kinta nuo 0 iki 5. Tiesės tankis γ tolstant tiesės taškams nuo centro (koordinačių pradžios taško O) didėja pagal formulę γ=(x+y)2.
Sprendimas. Pasinaudodami internetiniu integratoriumi, gauname:
m=∫05γ1+[y′]2dx=∫05(x+y)21+[y′]2dx=∫05(x+x2)21+4x2dx=
=17680(24x2+1(640x5+1536x4+1000x3+128x2+105x−64)−105arcsinh(2x))|05=

=17680(2101(640⋅3125+1536⋅625+1000⋅125+128⋅25+105⋅5−64)−105arcsinh(10))−17680(21⋅(−64)−105arcsinh(0))=

=17680(2101(2000000+960000+125000+3200+525−64)−105arcsinh(10))−17680(−128−0)=
=17680(2101⋅3088661−105arcsinh(10))+1287680=
=17680(62081317,771613740125811409969418−314,81340978128682257889253144763)+1287680=
=(62081002,958203958838988831076887+128)/7680=8083,4805935161404738266707131363.
Panaudojus Free Pascal kodą:
 var
 a:longint;
 c:real;
 begin
 for a:=1 to 1000000000  do
 c:=c+sqrt(sqr(0.000000005*a-0.000000005*(a-1))+sqr(sqr(0.000000005*a)-sqr(0.000000005*(a-1))))*sqr(0.000000005*a+sqr(0.000000005*a));
 writeln(c);
 readln;
 end.
gauname atsakymą m=8083,48061127561 po 30 sekundžių su 2,6 GHz procesoriumi.
Alternatyvus Free Pascal kodas, skaičiuojantis pagal formulę m=∫05γ1+[y′]2dx=∫05(x+x2)21+4x2dx yra toks:
 var
 a:longint;
 c:real;
 begin
 for a:=1 to 1000000000  do
 c:=c+sqrt(1+sqr(2*0.000000005*a))*sqr(0.000000005*a+sqr(0.000000005*a));
 writeln(c*0.000000005);
 readln;
 end.
ir duoda atsakymą m=8083,4806161241980 po 22 sekundžių su 2,6 GHz procesoriumi.

Taip pat skaitykite