Pereiti prie turinio

Aptarimas:Matematika/Kreiviniai integralai

Page contents not supported in other languages.
Pridėti temą
Iš Wikibooks.

Patikrinimas ar Diferencialinių binomų integravimas yra teisingas. Apie patį integravimą:

"Diferencialinių binomų integravimas
Integralas xm(a+bxn)pdx, kur m, n, p - racionalieji skaičiai, vadinamas integralu su binominiu diferencialu.

Šį integralą elementariosiomis funkcijomis įmanoma išreikšti tik trimis atvejais:

I. p - sveikasis skaičius. Jei p>0, tai pointegralinis binomas skleidžiamas pagal Niutono binomo formulę. Jei p<0, tai keičiame x=tk, kur k - bendras trupmenų m ir n vardiklis. Pavyzdžiui, trupmenų 14 ir 23 bendras vardiklis yra 3 4 = 12.
II. m+1n - sveikasis skaičius. Keičiame a+bxn=tα, kur α - trupmenos p vardiklis.
III. m+1n+p - sveikasis skaičius. Keičiame a+bxn=tαxn, kur α - trupmenos p vardiklis."

Pasirenkame pavyzdį:

  • x13(1x23)12dx=3x13(t2)12x13tdt=3x23t1tdt=

=3(1t2)ttdt=3(1t2)dt=3(tt33)+C=3(1x23(1x23)33)+C= =3(1x23)12+(1x23)32+C=31x23+13x23+3x43x2+C, kur m=13; n=23;p=12;m+1n=2;1x23=t2;23x13dx=2tdt;dx=3x13tdt;x23=1t2. Antras atvejis.

Toliau patikriname kokia yra išvestinė gauto atsakymo f(x)=(3(1x23)12+(1x23)32)=312(1x23)12(23x13)+32(1x23)12(023x13)= =x131x23x131x23.

Toliau galime apskaičiuoti lanko L ilgį funkcijos f(x)=3(1x23)12+(1x23)32 intervale [0; 0.9]. Taigi

L=ab1+(f(x))2dx=00.91+(x131x23x131x23)2dx=

=00.91+(x131x23)22x131x23x131x23+(x131x23)2dx= =00.91+x231x232x23+x23(1x23)dx=00.91+x231x232x23+x231dx= =00.9x231x23x23dx=00.9x23x23(1x23)1x23dx=00.9x23x23+11x23dx= =00.911x23dx=

Toliau taikome metodą iš diferencialinių binomų integravimo, turime, kad m=0, a=1, b=-1 , n=23 , p=12 . Turime III atvejį, nes

m+1n+p=0+12312=1.50.5=1 - sveikasis skaičius. Keičiame a+bxn=tαxn, kur α - trupmenos p vardiklis. Tada 1x23=t2x23. Toliau gauname 1=t2x23+x23 ; 1t2+1=x23 ; x=1(t2+1)32 ; dx=32(t2+1)522tdt ; t=1x23x23.

00.911x23dx=00.932(t2+1)522t1((t2+1)32)23dt=00.932(t2+1)522t11t2+1dt= =00.932(t2+1)522tt2+11t2+1dt=00.932(t2+1)522t(t2+1)t2dt=00.932(t2+1)122ttdt= =00.93(t2+1)12dt=300.9(t2+1)14dt

Šis pavyzdis taip paprastai neišsisprendžia.

Bet galima patikrinti ar x13(1x23)12 yra lygu x131x23x131x23. Nes antras yra integralas pirmo ir paskui per išvestine paverstas į pirmą tik kitoje formoje. Patikrinsime ar ta forma kita teisinga, įstatę į abi funkcijas reikšmę 0,5, nes didesnė nei 1 reikšmė neįmanoma dėl šaknies, kad negauti minuso šaknyje.

x13(1x23)12=0.513(10.523)12=0.793700526(10.629960525)12=

=0.7937005260.37003947512=0.7937005260.60830871=0.7937005261.643902182=1.304766027.

x131x23x131x23=0.51310.5230.51310.523=

=0.793700526110.6299605250.793700526110.629960525=1.259921050.3700394751.259921050.370039475= =2.0711869630.766420936=1.304766026.

Dar toks dalykas, integratorius http://integrals.wolfram.com/index.jsp?expr=x%5E%281%2F3%29%281-x%5E%282%2F3%29%29%5E%28-1%2F2%29&random=false pirmą funkciją integruoja taip:
x13(1x23)12dx=1x2/3(x2/3+2)+C=10.52/3(0.52/3+2)=

=10.629960525(0.629960525+2)=0.3700394752.629960525= =0.60830872.629960525=1.599827869.

Bet atsakymai tokie patys

x13(1x23)12dx=3(1x23)12+(1x23)32+C=3(10.523)12+(10.523)32= =3(10.629960525)12+(10.629960525)32=30.37003947512+0.37003947532= =30.6083087+0.60830873=1.824926101+0.225098232=1.599827869.

Tikslas yra patikrinti ar su internetiniu integratoriumi gauto rezultato išvestinė duos tokį patį atsakymą kaip neintegruotos pirmos funkcijos įstačius x=1/2, taigi:
(1x2/3(x2/3+2))=12(1x2/3)12(23x13)(x2/3+2)1x2/323x13=

=x133(1x2/3)12(x2/3+2)23x131x2/3=0.5133(10.52/3)12(0.52/3+2)230.51310.52/3= =1.259921053(10.629960525)12(0.629960525+2)231.2599210510.629960525= =0.4199736800.370039475122.6299605250.8399473660.370039475= =0.4199736801.6439021822.6299605250.8399473660.6083087=

=1.8157133030.51094729=1.304766013.

Parabolės lanko ilgio patikrinimas

[keisti]

Patikrinsime parbolės lanko ilgį padalindami parabolės šaką į 10 atkarpų-tiesių, kai 0<x<4. Kiekvienos atkarpos projekcijos į Ox ašį ilgis yra 0,4. Todėl reikiau gauti visas x reikšmes:

x0=0;
x1=0.4;
x2=20.4=0.8;
x3=30.4=1.2;
x4=40.4=1.6;
x5=50.4=2;
x6=60.4=2.4;
x7=70.4=2.8;
x8=80.4=3.2;
x9=90.4=3.6;
x10=100.4=4.

Dabar toliau reikia surasti visas y reikšmes, įstačius x reikšmes:

y0=x02=02=0;
y1=x12=0.42=0.16;
y2=x22=0.82=0.64;
y3=x32=1.22=1.44;
y4=x42=1.62=2.56;
y5=x52=22=4;
y6=x62=2.42=5.76;
y7=x72=2.82=7.84;
y8=x82=3.22=10.24;
y9=x92=3.62=12.96;
y10=x102=42=16.

Dabar belieka surasti atkarpu ilgius kaip nuo taško (0; 0) iki taško (0,4; 0,16); nuo taško (0,4; 0,16) iki (0,8; 0,64) ir taip toliau:

a1=(x1x0)2+(y1y0)2=(0.40)2+(0.160)2=0.16+0.0256=0.1856=0.430813184;
a2=(x2x1)2+(y2y1)2=(0.80.4)2+(0.640.16)2=0.16+0.2304=0.3904=0.624819974;
a3=(x3x2)2+(y3y2)2=(1.20.8)2+(1.440.64)2=0.16+0.64=0.8=0.894427191;
a4=(x4x3)2+(y4y3)2=(1.61.2)2+(2.561.44)2=0.16+1.2544=1.4144=1.1892855;
a5=(x5x4)2+(y5y4)2=(21.6)2+(42.56)2=0.16+2.0736=2.2336=1.494523335;
a6=(x6x5)2+(y6y5)2=(2.42)2+(5.764)2=0.16+3.0976=3.2576=1.804882268;
a7=(x7x6)2+(y7y6)2=(2.82.4)2+(7.845.76)2=0.16+4.3264=4.4864=2.118112367;
a8=(x8x7)2+(y8y7)2=(3.22.8)2+(10.247.84)2=0.16+5.76=5.92=2.433105012;
a9=(x9x8)2+(y9y8)2=(3.63.2)2+(12.9610.24)2=0.16+7.3984=7.5584=2.749254444;
a10=(x10x9)2+(y10y9)2=(43.6)2+(1612.96)2=0.16+9.2416=9.4016=3.066202863.

Toliau reikia sudėti visų atkarpų ilgį, kad gauti parabolės šakos ilgį, kai x kinta nuo 0 iki 4. Gauname:

L=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10=
=0.430813184+0.624819974+0.894427191+1.1892855+1.494523335+1.804882268+2.118112367+2.433105012+2.749254444+3.066202863=16.80542614.
Padalinus į daugiau dalių atsakymas taptų panašesnis į atsakymą gautą integravimo budu.
  • Apskaičiuosime parabolės y=x2 lanko ilgį, kai 0x4.

Randame y=(x2)=2x. Pasinaudodami integralų lentele x2+a𝖽x=x2a+x2+a2ln|x+x2+a|, gauname

L=041+y'2dx=041+(2x)2dx=041+4x2dx=40414+x2dx=
=2(x20,25+x2+0,252ln|x+x2+0,25|)|04=

=2(420,25+42+0,252ln|4+42+0,25|)2(020,25+02+0,252ln|0+02+0,25|)=

=2(216,25+0,125ln|4+16,25|)2(0+0,125ln|0+0,25|)=
2(24,031128874+0,125ln|8,031128874|)2(0,125ln|0,5|)
2(8,062257748+0,1252,0833251)2(0,125(0,69314718))=
=2(8,062257748+0,260415637)2(0,086643397)=16,64534677+0,173286795=16,81863357.

Palyginimui, tiesios linijos ilgis nuo taško (0; 0) iki taško (4; 16) yra c=a2+b2=42+162=272=16,4924225.

Parabolės lanko ilgio patikrinimas 2

[keisti]

Patikrinsime parbolės lanko ilgį padalindami parabolės šaką į 20 atkarpų-tiesių, kai 0<x<4. Kiekvienos atkarpos projekcijos į Ox ašį ilgis yra 0,2.


Dabar toliau reikia surasti visas y reikšmes, įstačius x reikšmes:

y0=x02=02=0;
y1=x12=0.22=0.04;
y2=x22=0.42=0.16;
y3=x32=0.62=0.36;
y4=x42=0.82=0.64;
y5=x52=12=1;
y6=x62=1.22=1.44;
y7=x72=1.42=1.96;
y8=x82=1.62=2.56;
y9=x92=1.82=3.24;
y10=x102=22=4;
y11=x112=2.22=4.84;
y12=x122=2.42=5.76;
y13=x132=2.62=6.76;
y14=x142=2.82=7.84;
y15=x152=32=9;
y16=x162=3.22=10.24;
y17=x172=3.42=11.56;
y18=x182=3.62=12.96;
y19=x192=3.82=14.44;
y20=x202=42=16.

Dabar belieka surasti atkarpu ilgius kaip nuo taško (0; 0) iki taško (0,2; 0,04); nuo taško (0,2; 0,04) iki (0,4; 0,16) ir taip toliau:

a1=(x1x0)2+(y1y0)2=(0.20)2+(0.040)2=0.22+0.042=0.04+0.0016=0.0416=0.20396078;
a2=(x2x1)2+(y2y1)2=(0.40.2)2+(0.160.04)2=0.22+0.122=0.04+0.0144=0.0544=0.233238075;
a3=(x3x2)2+(y3y2)2=(0.60.4)2+(0.360.16)2=0.22+0.22=0.04+0.04=0.08=0.282842712;
a4=(x4x3)2+(y4y3)2=(0.80.6)2+(0.640.36)2=0.22+0.282=0.04+0.0784=0.1184=0.34409301;
a5=(x5x4)2+(y5y4)2=(10.8)2+(10.64)2=0.22+0.362=0.04+0.1296=0.1696=0.411825205;
a6=(x6x5)2+(y6y5)2=(1.21)2+(1.441)2=0.22+0.442=0.04+0.1936=0.2336=0.483321838;
a7=(x7x6)2+(y7y6)2=(1.41.2)2+(1.961.44)2=0.22+0.522=0.04+0.2704=0.3104=0.557135531;
a8=(x8x7)2+(y8y7)2=(1.61.4)2+(2.561.96)2=0.22+0.62=0.04+0.36=0.4=0.632455532;
a9=(x9x8)2+(y9y8)2=(1.81.6)2+(3.242.56)2=0.22+0.682=0.04+0.4624=0.5024=0.708801805;
a10=(x10x9)2+(y10y9)2=(21.8)2+(43.24)2=0.22+0.762=0.04+0.5776=0.6176=0.785875308;
a11=(x11x10)2+(y11y10)2=(2.22)2+(4.844)2=0.22+0.842=0.04+0.7056=0.7456=0.863481325;
a12=(x12x11)2+(y12y11)2=(2.42.2)2+(5.764.84)2=0.22+0.922=0.04+0.8464=0.8864=0.941488183;
a13=(x13x12)2+(y13y12)2=(2.62.4)2+(6.765.76)2=0.22+12=0.04+1=1.04=1.019803903;
a14=(x14x13)2+(y14y13)2=(2.82.6)2+(7.846.76)2=0.22+1.082=0.04+1.1664=1.2064=1.098362417;
a15=(x15x14)2+(y15y14)2=(32.8)2+(97.84)2=0.22+1.162=0.04+1.3456=1.3856=1.177115118;
a16=(x16x15)2+(y16y15)2=(3.23)2+(10.249)2=0.22+1.242=0.04+1.5376=1.5776=1.256025477;
a17=(x17x16)2+(y17y16)2=(3.43.2)2+(11.5610.24)2=0.22+1.322=0.04+1.7424=1.7824=1.335065541;
a18=(x18x17)2+(y18y17)2=(3.63.4)2+(12.9611.56)2=0.22+1.42=0.04+1.96=2=1.414213562;
a19=(x19x18)2+(y19y18)2=(3.83.6)2+(14.4412.96)2=0.22+1.482=0.04+2.1904=2.2304=1.493452376;
a20=(x20x19)2+(y20y19)2=(43.8)2+(1614.44)2=0.22+1.562=0.04+2.4336=2.4736=1.57276826.

Toliau reikia sudėti visų atkarpų ilgį, kad gauti parabolės šakos ilgį, kai x kinta nuo 0 iki 4. Gauname:

L=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+
+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20=
=0.0416+0.0544+0.08+0.1184+0.1696+0.2336+0.3104+0.4+0.5024+0.6176+
+0.7456+0.8864+1.04+1.2064+1.3856+1.5776+1.7824+2+2.2304+2.4736=
=4.643549801+12.17177616=16.81532597.
Padalinus į daugiau dalių atsakymas taptų panašesnis į atsakymą gautą integravimo budu.
  • Apskaičiuosime parabolės y=x2 lanko ilgį, kai 0x4.

Randame y=(x2)=2x. Pasinaudodami integralų lentele x2+a𝖽x=x2a+x2+a2ln|x+x2+a|, gauname

L=041+y'2dx=041+(2x)2dx=041+4x2dx=40414+x2dx=
=2(x20,25+x2+0,252ln|x+x2+0,25|)|04=

=2(420,25+42+0,252ln|4+42+0,25|)2(020,25+02+0,252ln|0+02+0,25|)=

=2(216,25+0,125ln|4+16,25|)2(0+0,125ln|0+0,25|)=
2(24,031128874+0,125ln|8,031128874|)2(0,125ln|0,5|)
2(8,062257748+0,1252,0833251)2(0,125(0,69314718))=
=2(8,062257748+0,260415637)2(0,086643397)=16,64534677+0,173286795=16,81863357.

Palyginimui, linijos ilgis nuo taško (0; 0) iki taško (4; 16) yra c=a2+b2=42+162=272=16,4924225.

Neteisingo ir teisingo sprendimo palyginimas, nors atsakymai ir panašūs

[keisti]
  • Apskaičiuosime parabolės y=x2 lanko ilgį, kai 0x5.

Randame y=(x2)=2x. Gauname L=ab1+f'2(x)dx=051+y'2dx=051+(2x)2dx=051+4x2dx=

=14(2x4x2+1+sinh1(2x))|05=14(2x4x2+1+(e2xe2x2)1)|05=

=14(2x4x2+1+2e2xe2x)|05=14(10100+1+2e10e10)14(00+1+2e0e0)=

=14(10100+1+2e10e10)=14(100,4987562+222026,465790,000045399
14(100,4987562+222026,46574)25,12471175.

Palyginimui, linijos ilgis nuo taško (0; 0) iki taško (5; 25) yra: c=a2+b2=52+252=25+625=650=25.49509757.

  • Apskaičiuosime parabolės y=x2 lanko ilgį, kai 0x5.

Randame y=(x2)=2x. Gauname

L=051+(y)2dx=051+(2x)2dx=051+4x2dx=40514+x2dx=
=2(x214+x2+142ln|x+x2+14|)|05=
=2(5214+52+142ln|5+52+14|)2(0214+02+142ln|0+02+14|)=
=2(5214+25+18ln|5+25+14|)218ln|12|=
=2(525.024937811+18ln|5+5.024937811|)14(0.69314718)=
=2(12.56234453+18ln|10.02493781|)+0.173286795=
=2(12.56234453+2.305075778)+0.173286795=2(12.56234453+0.288134471)+0.173286795=
=212.850479+0.173286795=25.700958+0.173286795=25.8742448. Šitas yra teisingas.

Palyginimui, linijos ilgis nuo taško (0; 0) iki taško (5; 25) yra: c=a2+b2=52+252=25+625=650=25.49509757.


Hiperbolinis arksinusas nėra 1 dalijimas iš hiperbolinio sinuso. Hiperbolinis arksinusas lygus:
arsinhx=ln(x+x2+1)

https://en.wikipedia.org/wiki/Inverse_hyperbolic_functions

Su kompiuterio skaičiuotuvu paspaudus sinh1(25)=2.99822295.
O šitą reikšmę pridėjus prie 100.4987562 ir viską padalinus iš 4 gaunamas toks pat atsakymas kaip ir antru budu (25.8742448):
=14(2x4x2+1+sinh1(2x))|05=
=14(10100+1+sinh1(10))=
=14(100.4987562112089027+2.9982229502979697388)=25.87424479037671811.

Arba dar tikslesnė reikšmė tiesiai iš Windows kalkuliatoriaus: 25.874244790376718110259811166298.

Be to, sinh10=0.


Va šitas 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))));
writeln(c);
readln;
end.
duoda parabolės ilgio (kai x kinta nuo 0 iki 5) rezultatą 2.5874244790371570E+001 (tai reiškia 25.874244790371570) po 35 sekundžių su 4 Ghz procesoriumi. Tai yra 13 teisingu skaitmenų, nors prarabolė dalinama tik į milijardą atkarpų (viskas taip ir turi būti, nes parabolė yra beveik kaip tiesė...).
Su 2.6 GHz procesorium va tokia eilute
c:=c+sqrt(sqr(0.000000005)+sqr(sqr(0.000000005*a)-sqr(0.000000005*(a-1))))*0.000000005*a;
kuri skaičiuoja paraboles masę ir yra truputi ilgesnė duoda atsakyma po 25 sekundžiu. Pasirodo 4 GHz procesorius nustatytas buvo, kad veiktų tarp 1.4 GHz ir 4 GHz (Task manager'yje sukinėjasi dažnis apie 2 Ghz). Nustačius, kad veiktų tik 4 GHz dažniu, tai apskaičiuoja parabolės ilgį po 15 sekundžių (o parabolės masę po 16 sekundžių (Task Manager'yje dažnį rodo 4,15 GHz)).
Padalinus AMD FX 8350 Eight-Core 4.00 GHz procesoriaus dažnį iš kažkokio ten AMD Athlon 64 X2 5000+ 2.6 GHz (2 beanduolių) procesoriaus dažnio, gaunamas toks rezultatas: 4.16/2.6=1.6. Padalinus 25 sekundes, kurias skaičiavo 2.6 GHz procesorius iš 1.6 karto didesnio dažnio, gauname: 25/1.6=15.625 sekundes. Kas beveik lygu 16 sekundžių, per kurias susidoroja užsiturbines 4.16 GHz procesorius. Iš to išeina išvada, kad Free Pascal programoje skaičiavimo greitis parabolės masės/ilgio, priklauso tik nuo procesoriaus dažnio, o ne nuo procesoriaus architektūros.
Trumpi kodo paaiškinimai. Funkcija sqr(x) duoda x2; funkcija sqrt(x) duoda x; o žvaigždutė * reiškia daugybą.
Su 4 GHz procesorium buvo naudojamas toks Free Pascal (su 2.6 GHz CPU buvo naudojama 2.6.0 versija ar 2.4 kažkokia):
"
Free Pascal IDE Version 1.0.12 [2020 06 04]
Compiler Version 3.2.0
GDB Version GNU gdb (GDB) 7.2
Using configuration files from: C:\FPC\3.2.0\bin\i386-win32\
"
Adresu C:\FPC\3.2.0\bin\i386-win32\ reikia paleisti fp.exe arba iš shortcut'o ant desktopo, kuris įrašinėjant Free Pascal, sukuriamas.
Kaip supratau, 64 bitų Free Pascal Neturi lango palengvinančios ir pele naudojančios programos, todėl, kad palengvintai per langa ir su pele naudotis Free Pascal reikia atsisiųsti iš čia

https://www.freepascal.org/down/x86_64/win64-hungary.html

du .exe failus 39 MB (fpc-3.2.0.i386-win32.cross.x86_64-win64.exe) ir 51 MB (fpc-3.2.0.i386-win32.exe) ir juos abu įrašyti į default direktorija (ir tada sukurs shortcut'ą ir galima bus normaliai paleist Free Pascal). Kai Free Pascal įrašytas, reikia sukurti "New", paskui "paste from Windows" parabolės ilgio kodą ir paskui "Compile" ir "Run" arba iš kart "Run".

Truputi nesklandumai integruojant

[keisti]

Kreivės lanko ilgis randamas pagal šitas formules:

  • ds=1+y'2dx, kai kreivė L apibrėžta lygtimi y=y(x), o axb.
Lds=ab1+(f(x))2dx=ab1+(y)2dx.
  • Kai kreivė L apibrėžta parametrinėmis lygtimis x=x(t), y=y(t), t[t0;T], tai ds=xt'2+yt'2dt, todėl
Lds=t0T(xt)2+(yt)2dt.
Elementariausias pavyzdis, kai reikia perrašyti funkcija y=x2 parametrinėmis lygtimis. Tuomet pasirenkame (suteikiame parametrus iksui ir igrikui) x=t;y=t2. Gauname išvestines xt=t=1;yt=(t2)=2t. Vadinasi integralas atrodys taip:
t0T(xt)2+(yt)2dt=t0T12+(2t)2dt=t0T1+4t2dt.
  • Kai prametrinėmis lygtimis x=x(t), y=y(t), z=z(t), t[t0;T] apibrėžta erdvinė kreivė L, tai
Lds=t0T(xt)2+(yt)2+(zt)2dt.
  • Kai kreivė L polinėje koordinačių sistemoje apibrėžta lygtimi ρ=ρ(ϕ), ϕ[α;β] tai ds=ρ2+ρ'2dϕ ir
Lds=αβρ2+(ρ)2dϕ.
Polinėse koordinatėse taikoma ta pati pitagoro teorema. Geresniam išaiškiniui, tegu ρ=θ2 (tai spiralės funkcija). Tegu θ kinta nuo 0 iki 2π. Kai x kinta pastoviu greičiu, o y kitimo greitis kinta pagal tam tikrą funkciją, tada turime formulę l=ab1+(y)2dx. Polinėse koordinatėse y=dydx pakeičiame ρ=dρdθ. Pagal Pitagoro teoremą Dekarto koordinačių sistemą sudedame pakelta kvadratu x pastovų pakitimą su y nepastoviu pakitimu (y') pakeltu kvadratu ir paskui traukiant šaknį. Polinėse koordinatėse apskritimo ilgis c=2πR=2piρ. Vadinasi [spiralės] lanko dalies ilgis yra 2π(RiRi1)=2πρ. Mes dauginame kiekvieną lanko dalį 2π(RiRi1) iš spindulio dalies (RiRi1), kai ieškome ploto, tačiau šiuo atveju, mes (2π(RiRi1))2 pridedame prie (RiRi1)2 ir iš sumos ištraukę šaknį gauname kiekvienos lanko atkarpos ilgį. Apėjimas prieš laikrodžio rodyklę nuo 0 iki 2π kinta pastoviu greičiu, tačiau lanko ilgiai u=2π(RiRi1) priklauso nuo R=ρ. Todėl formulėje αβρ2+(ρ)2dθ ir yra ρ, kuris priklauso nuo θ, o kad tenkinti Pitagoro teoremą jis pakeltas kvadratu. Vietoje ρ bus įstatyta θ2, o vietoje θ bus įstatyta 2π ir gausime, kad kiekvienos mažos dalies ui2 ilgis yra ui2=(2πni)4. Čia n (pavyzdžiui, n=0.01) nusako į kiek dalių daliname parametrinę reikšmę u, kuri simbolizuoja lanką ir pastovų apėjimą prieš laikrodžio rodyklę pastoviu greičiu. Todėl Lds=αβρ2+(ρ)2dθ=n1mui2+vi2=1m1mui2+vi2. Kai mes skaičiuojame kreivės ilgį pagal šitą formulę l=ab1+(y)2dx, tai mes pasirenkame, kad arba x arba y kistu pastoviu greičiu (didėtų linijiniai). Taigi, x didėja linijiniai, o y lyginamas su x greičio kitimu ir y didėja arba mažėja ne linijiniai, kai x didėja linijiniai. Taigi, v=ρ. Spindulio dalies ilgis yra vi=RiRi12πn(i+1)2πni=RiRi12πn. Mes galime užrašyti RiRi1=dρ ir 2πn=dθ. Todėl gauname v=dρdθ=ρ. Šiuo atveju θ didėja linijiniai, o v nelinijiniai, bet pagal tam tikrą funkciją. Baigdami išspręsime pavyzdį, kai ρ=θ2, surasdami spiralės lanko ilgį:
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=13(θ2+4)32|02π=13((2π)2+4)3213(02+4)32=
=13(4(π2+1))3283=(286.68871268)/3=92.896237521771263212813630524448.
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=1202πθ2+4d(θ2)=12(θ2θ2+4+42ln|θ+θ2+4|)|02π=
=12(2π2(2π)2+4+42ln|2π+(2π)2+4|)12(0202+4+42ln|0+02+4|)=
=12(2π4π2+4+2ln|2π+4π2+4|)12(2ln|2|)=
=12(4ππ2+1+2ln|2π+2π2+1|)ln|2|=
=2ππ2+1+ln|2π+2π2+1|ln|2|=
=20,71508584921547418835543503203+2,5554429238707935293055934466408-0,69314718055994530941723212145818=22,577381592526322408243796357213.
čia d(θ2)=2θdθ,dθ=d(θ2)2θ ir xx2±a2dx=13(x2±a2)32 arba x2±a2dx=x2x2±a2+a22ln|x+x2±a2|.


Antru budu neteisingai išintegruota, nes 1202πθ2+4d(θ2) integruojasi ne kaip
x2±a2dx=x2x2±a2+a22ln|x+x2±a2|,
o kaip x+adx=x+ad(x+a)=(x+a)3232, kur d(x+a)=dx.

Nesekmingas bandymas išspręsti kitaip

[keisti]
  • Kai kreivė L polinėje koordinačių sistemoje apibrėžta lygtimi ρ=ρ(ϕ), ϕ[α;β] tai ds=ρ2+ρ'2dϕ ir
Lds=αβρ2+(ρ)2dϕ.
Polinėse koordinatėse taikoma ta pati pitagoro teorema. Geresniam išaiškiniui, tegu ρ=θ2 (tai spiralės funkcija). Tegu θ kinta nuo 0 iki 2π. Kai x kinta pastoviu greičiu, o y kitimo greitis kinta pagal tam tikrą funkciją, tada turime formulę l=ab1+(y)2dx. Polinėse koordinatėse y=dydx pakeičiame ρ=dρdθ. Pagal Pitagoro teoremą Dekarto koordinačių sistemoje sudedame pakelta kvadratu x pastovų pakitimą su y nepastoviu pakitimu (y') pakeltu kvadratu ir paskui traukiame šaknį. Polinėse koordinatėse apskritimo ilgis c=2πR=2πρ. Vadinasi [spiralės] lanko dalies ilgis yra 2π(RiRi1)=2πdρ. Mes dauginame kiekvieną lanko dalį 2π(RiRi1) iš spindulio dalies (RiRi1), kai ieškome ploto, tačiau šiuo atveju, mes (2π(RiRi1))2 pridedame prie (RiRi1)2 ir iš sumos ištraukę šaknį gauname kiekvienos lanko atkarpos ilgį. Apėjimas prieš laikrodžio rodyklę nuo 0 iki 2π kinta pastoviu greičiu, tačiau lanko ilgiai u=2π(RiRi1) priklauso nuo R=ρ. Todėl formulėje αβρ2+(ρ)2dθ ir yra ρ, kuris priklauso nuo θ, o kad tenkinti Pitagoro teoremą jis pakeltas kvadratu. Vietoje ρ bus įstatyta θ2, o vietoje θ bus įstatyta 2π ir gausime, kad kiekvienos mažos dalies ui ilgis yra ui2=((2πni)2(2πn(i1))2)2,ui=θi2θi12=(2πni)2(2πn(i1))2. Čia n (pavyzdžiui, n=0.01) nusako į kiek dalių daliname parametrinę reikšmę u, kuri simbolizuoja lanką ir pastovų apėjimą prieš laikrodžio rodyklę pastoviu greičiu. Todėl Lds=αβρ2+(ρ)2dθ=n1mui2+vi2=1m1mui2+vi2. Kai mes skaičiuojame kreivės ilgį pagal šitą formulę l=ab1+(y)2dx, tai mes pasirenkame, kad arba x arba y kistu pastoviu greičiu (didėtų linijiniai). Taigi, x didėja linijiniai, o y lyginamas su x greičio kitimu ir y didėja arba mažėja ne linijiniai, kai x didėja linijiniai. Taigi, v=ρ. Spindulio dalies ilgis yra vi=RiRi12πni2πn(i1)=RiRi12πn=θi2θi122πn=(2πni)2(2πn(i1))22πn. Mes galime užrašyti RiRi1=dρ ir 2πn=dθ. Todėl gauname v=dρdθ=ρ. Šiuo atveju θ didėja linijiniai, o v nelinijiniai, bet pagal tam tikrą funkciją. Kad viskas būtų palyginta per θ - t. y. per lanko apeimą prieš laikrodžio rodykle, kiekvieną kartą didinant i (i naturalus skaičius), mes turime, kad po kiekvieno i padidėjimo apėjimas vyksta greičiu 2πni. Todėl, kad (RiRi1)2 prilygtų (2π(RiRi1))2 apėjimo tempui, mes RiRi1 daliname iš 2πn ir gauname RiRi12πn=RiRi12π1m=vi=ρ. Tuomet viskas yra suderinta ir kreivės lanko ilgis yra l=1m1m(2π(RiRi1))2+(RiRi12π1m)2=1m1mui2+vi2. Padalinti RiRi12π/m reikia visų pirma todėl, kad mes apeiname prieš laikrodžio rodyklę greičiu konstanta C=2π didesniu, negu didėja spindulio R ilgis.
Baigdami išspręsime pavyzdį, kai ρ=θ2, surasdami spiralės lanko ilgį:
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=13(θ2+4)32|02π=13((2π)2+4)3213(02+4)32=
=13(4(π2+1))3283=(286.68871268)/3=92.896237521771263212813630524448;
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=1202πθ2+4d(θ2+4)=12(θ2+4)3/232|02π=(θ2+4)3/23|02π=92.89623752;
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=1202πθ2+4d(θ2)=12(243+2θ23)θ2+4|02π=
=12(83+2(2π)23)(2π)2+412(83+2023)02+4=(43+4π23)4π2+483=
=8+8π23π2+183=8(π2+1)3π2+183=8(π2+1)32383=
=95,562904188437929879480297191115-2,6(6)=92,896237521771263212813630524448;
čia d(θ2+4)=2θdθ,dθ=d(θ2+4)2θ ir xx2±a2dx=13(x2±a2)32 arba ax+bdx=(2b3a+2x3)ax+b.
Išspręsime šį pavyzdį kitaip:
l=Lds=02πρ2+(ρ2π)2dθ=02πρ2+ρ24π2dθ=12π02π4π2ρ2+ρ2dθ=
=12π02πρ4π2+1dθ=12π4π2+1ρ22|02π=121+14π2ρ2|02π=4π221+14π2=
=2π24π2+1=π4π2+1=19.9876454.

Teoriją reikia pakoreguot ir per daug kodų (skyrius Kreivės lanko ilgis)

[keisti]

Kreivės lanko ilgis randamas pagal šitas formules:

  • ds=1+y'2dx, kai kreivė L apibrėžta lygtimi y=y(x), o axb.
Lds=ab1+(f(x))2dx=ab1+(y)2dx.
  • Kai kreivė L apibrėžta parametrinėmis lygtimis x=x(t), y=y(t), t[t0;T], tai ds=xt'2+yt'2dt, todėl
Lds=t0T(xt)2+(yt)2dt.
Elementariausias pavyzdis, kai reikia perrašyti funkcija y=x2 parametrinėmis lygtimis. Tuomet pasirenkame (suteikiame parametrus iksui ir igrikui) x=t;y=t2. Gauname išvestines xt=t=1;yt=(t2)=2t. Vadinasi integralas atrodys taip:
t0T(xt)2+(yt)2dt=t0T12+(2t)2dt=t0T1+4t2dt.
  • Kai prametrinėmis lygtimis x=x(t), y=y(t), z=z(t), t[t0;T] apibrėžta erdvinė kreivė L, tai
Lds=t0T(xt)2+(yt)2+(zt)2dt.
  • Kai kreivė L polinėje koordinačių sistemoje apibrėžta lygtimi ρ=ρ(ϕ), ϕ[α;β] tai ds=ρ2+ρ'2dϕ ir
Lds=αβρ2+(ρ)2dϕ.
Polinėse koordinatėse taikoma ta pati pitagoro teorema. Geresniam išaiškiniui, tegu ρ=θ2 (tai spiralės funkcija). Tegu θ kinta nuo 0 iki 2π. Kai x kinta pastoviu greičiu, o y kitimo greitis kinta pagal tam tikrą funkciją, tada turime formulę l=ab1+(y)2dx. Polinėse koordinatėse y=dydx pakeičiame ρ=dρdθ. Pagal Pitagoro teoremą Dekarto koordinačių sistemoje sudedame pakelta kvadratu x pastovų pakitimą su y nepastoviu pakitimu (y') pakeltu kvadratu ir paskui traukiame šaknį. Polinėse koordinatėse apskritimo ilgis c=2πR=2πρ. Vadinasi [spiralės] lanko dalies ilgis yra 2π(RiRi1)=2πdρ. Mes dauginame kiekvieną lanko dalį 2π(RiRi1) iš spindulio dalies (RiRi1), kai ieškome ploto, tačiau šiuo atveju, mes (2π(RiRi1))2 pridedame prie (RiRi1)2 ir iš sumos ištraukę šaknį gauname kiekvienos lanko atkarpos ilgį. Apėjimas prieš laikrodžio rodyklę nuo 0 iki 2π kinta pastoviu greičiu, tačiau lanko ilgiai u=2π(RiRi1) priklauso nuo R=ρ. Todėl formulėje αβρ2+(ρ)2dθ ir yra ρ, kuris priklauso nuo θ, o kad tenkinti Pitagoro teoremą jis pakeltas kvadratu. Vietoje ρ bus įstatyta θ2, o vietoje θ bus įstatyta 2π ir gausime, kad kiekvienos mažos dalies ui ilgis yra ui2=((2πni)2(2πn(i1))2)2,ui=θi2θi12=(2πni)2(2πn(i1))2. Čia n (pavyzdžiui, n=0.01) nusako į kiek dalių daliname parametrinę reikšmę u, kuri simbolizuoja lanką ir pastovų apėjimą prieš laikrodžio rodyklę pastoviu greičiu. Todėl Lds=αβρ2+(ρ)2dθ=n1mui2+vi2=1m1mui2+vi2. Kai mes skaičiuojame kreivės ilgį pagal šitą formulę l=ab1+(y)2dx, tai mes pasirenkame, kad arba x arba y kistu pastoviu greičiu (didėtų linijiniai). Taigi, x didėja linijiniai, o y lyginamas su x greičio kitimu ir y didėja arba mažėja ne linijiniai, kai x didėja linijiniai. Taigi, v=ρ. Spindulio dalies ilgis yra vi=RiRi12πni2πn(i1)=RiRi12πn=θi2θi122πn=(2πni)2(2πn(i1))22πn. Mes galime užrašyti RiRi1=dρ ir 2πn=dθ. Todėl gauname v=dρdθ=ρ. Šiuo atveju θ didėja linijiniai, o v nelinijiniai, bet pagal tam tikrą funkciją. Kad viskas būtų palyginta per θ - t. y. per lanko apeimą prieš laikrodžio rodykle, kiekvieną kartą didinant i (i naturalus skaičius), mes turime, kad po kiekvieno i padidėjimo apėjimas vyksta greičiu 2πni. Todėl, kad (RiRi1)2 prilygtų (2π(RiRi1))2 apėjimo tempui, mes RiRi1 daliname iš 2πn ir gauname RiRi12πn=RiRi12π1m=vi=ρ. Tuomet viskas yra suderinta ir kreivės lanko ilgis yra l=1m1m(2π(RiRi1))2+(RiRi12π1m)2=1m1mui2+vi2. Padalinti RiRi12π/m reikia visų pirma todėl, kad mes apeiname prieš laikrodžio rodyklę greičiu konstanta C=2π didesniu, negu didėja spindulio R ilgis.
Baigdami išspręsime pavyzdį, kai ρ=θ2, surasdami spiralės lanko ilgį:
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=13(θ2+4)32|02π=13((2π)2+4)3213(02+4)32=
=13(4(π2+1))3283=(286.68871268)/3=92.896237521771263212813630524448;
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=1202πθ2+4d(θ2+4)=12(θ2+4)3/232|02π=(θ2+4)3/23|02π=92.89623752;
l=Lds=02πρ2+(ρ)2dθ=02π(θ2)2+(2θ)2dθ=02πθ4+4θ2dθ=
=02πθθ2+4dθ=1202πθ2+4d(θ2)=12(243+2θ23)θ2+4|02π=
=12(83+2(2π)23)(2π)2+412(83+2023)02+4=(43+4π23)4π2+483=
=8+8π23π2+183=8(π2+1)3π2+183=8(π2+1)32383=
=95,562904188437929879480297191115-2,6(6)=92,896237521771263212813630524448;
čia d(θ2+4)=2θdθ,dθ=d(θ2+4)2θ ir xx2±a2dx=13(x2±a2)32 arba ax+bdx=(2b3a+2x3)ax+b.
Bandydami apskaičiuoti analogiškai su programa "Free Pascal", panaudojant kodą:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 100  do
   c:=c+sqrt(sqr(sqr(a*0.062831853)-sqr((a-1)*0.062831853))+sqr((sqr(a*0.062831853)-sqr((a-1)*0.062831853))/0.062831853));
   writeln(c);
   readln;
   end.
gauname atsakymą 629,557559394517. Šis atsakymas padalintas iš 2π duoda kažka panašaus į teisingą atsakymą, t. y. 100,19719753850687095392912240507.
Kai panaudojame šį kodą:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 10000  do
   c:=c+sqrt(sqr(sqr(a*0.00062831853)-sqr((a-1)*0.00062831853))+sqr((sqr(a*0.00062831853)-sqr((a-1)*0.00062831853))/0.00062831853));
   writeln(c);
   readln;
   end.
tai gauname atsakymą 62831,8654025094, kas byloje apie bloga teorijos išaiškinimą.
Va čia kodas:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 628318531  do
   c:=c+0.00000001*sqrt(sqr(sqr(a*0.00000001))+sqr(a*2.0/100000000));
   writeln(c);
   readln;
   end.
kuris duoda atsakymą 92,8962378457359 po 16 sekundžių su 2,6 GHz procesoriumi. Optimizuotas šio kodo variantas:
   var
   a:longint;
   c,b:real;
   begin
   for a:=1 to 628318531  do
   c:=c+sqrt(sqr(sqr(a*0.00000001))+sqr(a*0.00000002));
   b:=c*0.00000001;
   writeln(b);
   readln;
   end.
duoda atsakymą 92,8962378457489 po 11 sekundžių su 2,6 GHz procesoriumi.
Šis kodas:
   var
   a:longint;
   c,b:real;
   begin
   for a:=1 to 62831853  do
   c:=c+sqrt(sqr(sqr(a*0.0000001))+sqr((sqr(a*0.0000001)-sqr((a-1)*0.0000001))/0.0000001));
   b:=c*0.0000001;
   writeln(b);
   readln;
   end.
duoda atsakymą 92,8962389233553 po dviejų sekundžių. Tikslesnė (ne daug tikslesnė, nes kaip tik 2π108=628318530.7179586476925286766559 ir kur reikia apvalint ten 0) šio kodo versija:
   var
   a:longint;
   c,b:real;
   begin
   for a:=1 to 628318531  do
   c:=c+sqrt(sqr(sqr(a*0.00000001))+sqr((sqr(a*0.00000001)-sqr((a-1)*0.00000001))*100000000));
   b:=c*0.00000001;
   writeln(b);
   readln;
   end.
duoda atsakymą 92,8962378085099 po 15 sekundžių su 2,6 GHz procesoriumi.
Labiausiai teoriją atitinkantis kodas yra šis:
   var
   a:longint;
   c,b:real;
   begin
   for a:=1 to 1000000000  do
   c:=c+sqrt(sqr(sqr(a*0.0000000062831853))+sqr((sqr(a*0.0000000062831853)-sqr((a-1)*0.0000000062831853))/0.0000000062831853));
   b:=c*0.0000000062831853;
   writeln(b);
   readln;
   end.
duodantis atsakymą 92,8962373310520 po 30 sekundžių su 2,6 GHz procesoriumi. Su patikslinta 2π reikšme panaudojus kodą:
   var
   a:longint;
   c,b:real;
   begin
   for a:=1 to 1000000000  do
   c:=c+sqrt(sqr(sqr(a*0.000000006283185307179586))+sqr((sqr(a*0.000000006283185307179586)-sqr((a-1)*0.000000006283185307179586))/0.000000006283185307179586));
   b:=c*0.000000006283185307179586;
   writeln(b);
   readln;
   end
gauname atsakymą 92,8962376285006 po 31 sekundės su 2,6 GHz procesoriumi.


Suprastinta kodo su šita eilute
c:=c+sqrt(sqr(sqr(a*0.00000001))+sqr((sqr(a*0.00000001)-sqr((a-1)*0.00000001))*100000000));
versija yra kodas:
  var a:longint; c,b:real;
  begin
  for a:=1 to 628318531  do
  c:=c+sqrt(sqr(sqr(a*0.00000001))+sqr((sqr(a*1.0)-sqr((a-1)*1.0))*0.00000001));
  b:=c*0.00000001;
  writeln(b);
  readln;
  end.
kuris duoda atsakymą 9.2896237808507621E+001 po 9 sekundžių su 4.16 GHz dažniu veikiančiu procesoriumi. Jeigu vietoje sqr(a*1.0) parašyti sqr(a), tai gaunamas visai ne tokių skaitmenų atsakymas ir 8 eilėmis didesnis (8.2683404394761600E+009). O jeigu vietoje sqr((a-1)*1.0) parašyti sqr(a-1), tai iš vis kažkokia klaida ir negaunamas joks atsakymas.