Pereiti prie turinio

Aptarimas:Gryno formulė

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

Ne tas polinomas padalintas (a ir x ne tas pats), bet polinomas gražiai pasidalijo į

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

kai L - apskritimas (a>0), apeinamas teigiama kryptimi (prieš laikrodžio rodyklę).

Kadangi skritulyje funkcijos ir bei jų dalinės išvestinės ir yra tolydžios, tai duotajam kreiviniam integralui galima taikyti Gryno formulę.
Turime:
Randame apskritimo y išraišką:
Randame y išvestinę, o paskui ir dy:
Apskritimo spindulys nes pavyzdžiui, kai tai Ž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 ir tai gauname teisingą lygybę Vadinasi taškas (0; 0) priklauso apskritimui Kitas apskritimo taškas yra (3; 0), kuris yra ant Ox ašies. Įstačius taško (3; 0) koordinates į apskritimo lygtį gauname Žinome, kad taškas (3; 0) yra toliausias taškas ant Ox ašies. Todėl apskritimo spindulys yra
Kadangi apskritimo spindulys yra ir Ox ašis dalina apskritimą per pusę, tai didžiausia y reikšmė gali būti Vadinasi integravimas vyksta pirmame ir ketvirtame ketvirčiuose. Bet, kadangi, skritulio 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 plotą pirmame ketvirtyje, turime žinoti integravimo ribas. Nustatome, kad x kinta nuo 0 iki a, o y kinta nuo 0 iki
Taikydami Gryno formulę, integruojame (pasinaudodami internetiniu integratoriumi):
Pasitikriname (įstatydami y ir dy ir pasinaudodami internetiniu integratoriumi):
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ą:
Toliau pasinaudojame internetiniu polinomų dalikliu parinkę gauname Toliau integruojame:
Kadangi tai seniau gautas atsakymas įstačius atitinka ir iš to darome išvada, kad Gryno formulė veikia teisingai (išskyrus minusiuką).

Kvaili sutapimai

[keisti]
  • Apskaičiuosime darbą jėgos 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, Jėgos F(x, y) koordinatės tokios: [ženklas "" paaiškinamas tuo, kad jėga nukreipta į tašką (0; 0)]. Pagal formulę turime kur L - elipsė Todėl

Jei t keistusi nuo 0 iki integralas butu lygus Tarkime, jei tai padarytas darbas pirmame ketvirtyje yra
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 čia yra visos x reikšmės ant elipsės linijos pirmame ketvirtyje nuo 0 iki a; analogiškai 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 pagal pirmą variantą. Na, o pagal antrą variantą turime:
Na, pagal pirmą variantą tikrai ne sutapimas, nes, jei tai ir
Bet ne, vis dėl to tai sutapimas, nes jei tai ir
Integruojant gauname:

Pastebime, kad

Per daug kodų

[keisti]
  • Apskaičiuosime darbą jėgos 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, Jėgos F(x, y) koordinatės tokios: [ženklas "" paaiškinamas tuo, kad jėga nukreipta į tašką (0; 0)]. Pagal formulę turime kur L - elipsė Todėl

Jei t keistusi nuo 0 iki integralas butu lygus
Tarkime, jei tai padarytas darbas pirmame ketvirtyje yra
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 čia yra visos x reikšmės ant elipsės linijos pirmame ketvirtyje nuo 0 iki a; analogiškai 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 pagal pirmą variantą. Na, o pagal antrą variantą turime:
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;
     b,d,c:real;
     begin
     c:=0;
       for a:=1 to 10
       do
       c:=c+0.1*sqrt(sqr(a*0.3)+sqr((10-a)*0.5)); 
       writeln(c);
     readln;
     end.
Gauname atsakymą
Arba darome taip (pradedame ne nuo 1, o nuo 0, bet tada reikėtų dalinti iš 11, o ne iš 10 kol a iki mažo skaičiaus skaičiuojamas):
     var
     a:longint;
     b,d,c:real;
     begin
     c:=0;
       for a:=0 to 10
       do
       c:=c+0.1*sqrt(sqr(a*0.3)+sqr((10-a)*0.5)); 
       writeln(c);
     readln;
     end.
Ir gauname atsakymą
Panaudojus šį kodą:
    var
    a:longint;
    c:real;
    begin
      for a:=1 to 10
      do
      c:=c+0.1*sqrt(sqr(a*0.3)+sqr((11-a)*0.5));
      writeln(c);
    readln;
    end.
gauname
Kad gauti tikslesnį atsakymą naudojame šį kodą:
     var
     a:longint;
     b,d,c:real;
     begin
     c:=0;
       for a:=1 to 100
       do
       c:=c+0.01*sqrt(sqr(a*0.03)+sqr((100-a)*0.05)); 
       writeln(c);
     readln;
     end.
Tokiu budu gauname gana tikslų atsakymą
Kad gauti labai tikslų atsakymą naudojame tokį kodą:
   var
   a:longint;
   c:real;
   begin
       for a:=1 to 1000000
       do
       c:=c+0.000001*sqrt(sqr(a*0.000003)+sqr((1000000-a)*0.000005)); 
       writeln(c);
   readln;
   end.
Gauname atsakymą
Kad gauti labai labai tikslų atsakymą naudojame šį kodą:
   var
   a:longint;
   c:real;
   begin
       for a:=1 to 1000000000  do
       c:=c+0.000000001*sqrt(sqr(a*0.000000003)+sqr((1000000000-a)*0.000000005)); 
       writeln(c);
   readln;
   end.
Gauname atsakymą po 22 sekundžių ant 2.6 GHz procesoriaus.
Jei naudojame šį kodą:
   var
   a:longint;
   c:real;
   begin
       for a:=0 to 1000000000  do
       c:=c+0.000000001*sqrt(sqr(a*0.000000003)+sqr((1000000000-a)*0.000000005)); 
       writeln(c);
   readln;
   end.
tai gauname atsakymą
Panaudojus šį kodą:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 1000000000  do
   c:=c+0.000000001*sqrt(sqr(a*0.000000003)+sqr((1000000001-a)*0.000000005));
   writeln(c);
   readln;
   end.
gauname atsakymą
Integruojant gauname:
Pastebime, kad Apskaičiuojame viską nepriekaištingai tiksliai su kompiuterio kalkuliatoriumi:
Randame, kad
Toliau bandome rasti atlikta darbą apeita tiese integruojant Randame Turime, kad x integravimo ribos yra 0 iki 5, o y integravimo ribos yra nuo 0 iki 3. Gauname:
Akivaizdu, kad atsakymas yra neteisingas, o atsakymas A=8 elipsei yra teisingas, nes elipsės lankas yra ilgesnis nei tiesės atkarpa pirmame ketvirtyje ir pagal sąlygą jėgos dydis proporcingas atstumui nuo centro, todėl elipsės lanko taškai yra toliau nuo centro nei tiesės atkarpos taškai. Ir todėl elipsės darbas A=8 yra didesnis už darbą A=3.2865795 tiesės atkarpa.
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 arba Tuomet akivaizdu, kad
Tą patį darba gauname ir apeinant tiese:
Lygiai tą patį darbą gausime ir integruojant taip:
Tą patį gausime ir taip integruojant nuo 0 iki 5:

O visgi vadovėliuose nėra kreivės masės skaičiavimo formulių (todėl ir atsakymas neteisingas)

[keisti]
  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
Toliau integruodami gauname:

X failai (skyrius Jėgos darbas)

[keisti]

Jėgos darbas padarytas judant kreive plokštumoje apskaičiuojamas pagal formulę Jėgos darbas padarytas judant erdvine kreive apskaičiuojamas taip:

  • Apskaičiuosime darbą jėgos 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, Jėgos F(x, y) koordinatės tokios: [ženklas "" paaiškinamas tuo, kad jėga nukreipta į tašką (0; 0)]. Pagal formulę turime kur L - elipsė Todėl

Jei t keistusi nuo 0 iki integralas butu lygus
Tarkime, jei tai padarytas darbas pirmame ketvirtyje yra
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 čia yra visos x reikšmės ant elipsės linijos pirmame ketvirtyje nuo 0 iki a; analogiškai 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 pagal pirmą variantą. Na, o pagal antrą variantą turime:
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.1*sqrt(sqr(a*0.3)+sqr((11-a)*0.5));
      writeln(c);
    readln;
    end.
gauname
Panaudojus šį kodą:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 1000000000  do
   c:=c+0.000000001*sqrt(sqr(a*0.000000003)+sqr((1000000001-a)*0.000000005));
   writeln(c);
   readln;
   end.
gauname atsakymą 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(c);
   readln;
   end.
gauname atsakymą po 25 sekundžių ant 2.6 GHz procesoriaus.
Integruojant gauname:
(Update: Perskaičiavus gaunasi:
(9,1911764705882352941176470588235+3,6425041506487550296517491344981)-(-3,3088235294117647058823529411765-1,6139227719443049309711137193553)=
=12,833680621236990323769396193322-(-4,9227463013560696368534666605317)=17,756426922593059960622862853854.
Update 2: Ne -3,3088, o -1,9852941176470588235294117647059.)
Pastebime, kad Apskaičiuojame viską nepriekaištingai tiksliai su kompiuterio kalkuliatoriumi:
Randame, kad
Toliau bandome rasti atlikta darbą apeita tiese integruojant Randame Turime, kad x integravimo ribos yra 0 iki 5, o y integravimo ribos yra nuo 0 iki 3. Gauname:
Akivaizdu, kad atsakymas yra neteisingas, o atsakymas A=8 elipsei yra teisingas, nes elipsės lankas yra ilgesnis nei tiesės atkarpa pirmame ketvirtyje ir pagal sąlygą jėgos dydis proporcingas atstumui nuo centro, todėl elipsės lanko taškai yra toliau nuo centro nei tiesės atkarpos taškai. Ir todėl elipsės darbas A=8 yra didesnis už darbą A=3.2865795 tiesės atkarpa.
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 arba Tuomet akivaizdu, kad
Tą patį darba gauname ir apeinant tiese:
Lygiai tą patį darbą gausime ir integruojant taip:
Tą patį gausime ir taip integruojant nuo 0 iki 5:


  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
Toliau integruodami gauname:

Perskaičiavus gaunas m=41.4470084394957645512263519847-(-4.015301738572567547333986879663)=45.462310178068332098560338864363.
Wolframo integratoriui varžteliai atsisuko, nes integruojant tą patį taip ir taip nuo 0 iki 5 gauname skirtingus atsakymus atitinkamai:
ir
Beje, integruojant taip nuo 0 iki 5 gauname:
(13,865120473473883114631633205975+5,0555276680167165753752595311952)-(-0,66176470588235294117647058823529-0,64871162108625555582601097623286)=
=18,92064814149059969000689273717-(-1,3104763269686084970024815644681)=20,231124468459208187009374301638.

Pilna klaidų, bet vis tiek kažkas ne taip integruojant su ir be

[keisti]
  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
Toliau integruodami gauname:

Wolframo integratoriui varžteliai atsisuko, nes integruojant tą patį taip ir taip nuo 0 iki 5 gauname skirtingus atsakymus atitinkamai:
ir
Beje, integruojant taip nuo 0 iki 5 gauname:
(13,865120473473883114631633205975+5,0555276680167165753752595311952)-(-0,66176470588235294117647058823529-0,64871162108625555582601097623286)=
=18,92064814149059969000689273717-(-1,3104763269686084970024815644681)=20,231124468459208187009374301638. Na, bent jau apytiksliai gauname kažką panašaus į :
Nors šita formulė ir skirta kreivės svorio centro koordinačių nustatymui (), bet sprendžiant iš kai kurių matematikos vadovelių, kreivės masę galima apskaičiuoti, bet tada, matyt, reikia pačiam sugalvoti formulę, pagal kurią skaičiuoti (nebent ten turima galvoje, kad kreivės ilgis lygus masei, o tankis toks pat visuose kreivės taškuose).
Tačiau, ko gero,

Wolframo integratorius integruoja skirtingai išskleistą ir neišskleistą funkciją ir skirtingai su skirtingomis konstantomis

[keisti]
(Taip 1.16619*sqrt(9-18*x/5 +(34*x^2)/25) integruojant gauname 19,163865128930380119022361244004; čia 1,16619=(34/25)^(1/2).)
  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
Toliau integruodami gauname:

Wolframo integratoriui varžteliai atsisuko, nes integruojant tą patį taip ir taip nuo 0 iki 5 gauname skirtingus atsakymus atitinkamai:
ir
Beje, integruojant taip nuo 0 iki 5 gauname:
[34^0.5]*[(45,955882352941176470588235294118+18,21252075324377514825874567249)-(-9,9264705882352941176470588235294-8,0696138597215246548555685967763)]/25=
=[34^0.5]*[64,168403106184951618846980966608-(-17,996084447956818772502627420306)]/25=
=[34^0.5]*82,164487554141770391349608386914/25=19,163886975712642545064105297031. Na, bent jau apytiksliai gauname kažką panašaus į :
Nors šita formulė ir skirta kreivės svorio centro koordinačių nustatymui (), bet sprendžiant iš kai kurių matematikos vadovelių, kreivės masę galima apskaičiuoti, bet tada, matyt, reikia pačiam sugalvoti formulę, pagal kurią skaičiuoti (nebent ten turima galvoje, kad kreivės ilgis lygus masei, o tankis toks pat visuose kreivės taškuose).
Tačiau, ko gero,

Wolframo integratorius tikrai turi problemų tame kaip pateikti integravimo funkciją

[keisti]
  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
Toliau integruodami gauname:

Wolframo integratoriui varžteliai atsisuko, nes integruojant tą patį taip ir taip nuo 0 iki 5 gauname skirtingus atsakymus atitinkamai:
ir
Beje, integruojant taip nuo 0 iki 5 gauname:
[34^0.5]*[(45,955882352941176470588235294118+18,21252075324377514825874567249)-(-9,9264705882352941176470588235294-8,0696138597215246548555685967763)]/25=
=[34^0.5]*[64,168403106184951618846980966608-(-17,996084447956818772502627420306)]/25=
=[34^0.5]*82,164487554141770391349608386914/25=19,163886975712642545064105297031.
Wolframo integratorius duoda keistus sutapimus:
Nors formulė () ir skirta kreivės svorio centro koordinatės nustatymui (), bet sprendžiant iš kai kurių matematikos vadovelių, kreivės masę galima apskaičiuoti, bet tada, matyt, reikia pačiam sugalvoti formulę, pagal kurią skaičiuoti (nebent ten turima galvoje, kad kreivės ilgis lygus masei, o tankis toks pat visuose kreivės taškuose).
Tačiau, ko gero,

Uždavinys baigtas spręsti

[keisti]
  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
Toliau integruodami gauname:

Wolframo integratoriui varžteliai atsisuko, nes integruojant tą patį taip ir taip nuo 0 iki 5 gauname skirtingus atsakymus atitinkamai:
ir
Beje, integruojant taip nuo 0 iki 5 gauname:
[34^0.5]*[(45,955882352941176470588235294118+18,21252075324377514825874567249)-(-9,9264705882352941176470588235294-8,0696138597215246548555685967763)]/25=
=[34^0.5]*[64,168403106184951618846980966608-(-17,996084447956818772502627420306)]/25=
=[34^0.5]*82,164487554141770391349608386914/25=19,163886975712642545064105297031.
Wolframo integratorius duoda keistus sutapimus:
Nors formulė () ir skirta kreivės svorio centro koordinatės nustatymui (), bet sprendžiant iš kai kurių matematikos vadovelių, kreivės masę galima apskaičiuoti, bet tada, matyt, reikia pačiam sugalvoti formulę, pagal kurią skaičiuoti (nebent ten turima galvoje, kad kreivės ilgis lygus masei, o tankis toks pat visuose kreivės taškuose).
Tačiau, ko gero,
Kad išsiaiškinti teisybę pasinaudosime integralų lentele:
Tada integruojame:
Vadinasi, randame tiesės masę kaip prašyta sąlygoje:

Iš skyriaus Jėgos darbas neteisingi atsakymai (iš tikro masė yra p, o ne m)

[keisti]

Jėgos darbas padarytas judant kreive plokštumoje apskaičiuojamas pagal formulę Jėgos darbas padarytas judant erdvine kreive apskaičiuojamas taip:

  • Apskaičiuosime darbą jėgos 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, Jėgos F(x, y) koordinatės tokios: [ženklas "" paaiškinamas tuo, kad jėga nukreipta į tašką (0; 0)]. Pagal formulę turime kur L - elipsė Todėl

Jei t keistusi nuo 0 iki integralas butu lygus
Tarkime, jei tai padarytas darbas pirmame ketvirtyje yra
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 čia yra visos x reikšmės ant elipsės linijos pirmame ketvirtyje nuo 0 iki a; analogiškai 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 pagal pirmą variantą. Na, o pagal antrą variantą turime:
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.1*sqrt(sqr(a*0.3)+sqr((11-a)*0.5));
      writeln(c);
    readln;
    end.
gauname
Panaudojus šį kodą:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 1000000000  do
   c:=c+0.000000001*sqrt(sqr(a*0.000000003)+sqr((1000000001-a)*0.000000005));
   writeln(c);
   readln;
   end.
gauname atsakymą 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(c);
   readln;
   end.
gauname atsakymą po 25 sekundžių ant 2.6 GHz procesoriaus.
Integruojant gauname:
Pastebime, kad Apskaičiuojame viską nepriekaištingai tiksliai su kompiuterio kalkuliatoriumi:
Randame, kad
Toliau bandome rasti atlikta darbą apeita tiese integruojant Randame Turime, kad x integravimo ribos yra 0 iki 5, o y integravimo ribos yra nuo 0 iki 3. Gauname:
Akivaizdu, kad atsakymas yra neteisingas, o atsakymas A=8 elipsei yra teisingas, nes elipsės lankas yra ilgesnis nei tiesės atkarpa pirmame ketvirtyje ir pagal sąlygą jėgos dydis proporcingas atstumui nuo centro, todėl elipsės lanko taškai yra toliau nuo centro nei tiesės atkarpos taškai. Ir todėl elipsės darbas A=8 yra didesnis už darbą A=3.2865795 tiesės atkarpa.
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 arba Tuomet akivaizdu, kad
Tą patį darba gauname ir apeinant tiese:
Lygiai tą patį darbą gausime ir integruojant taip:
Tą patį gausime ir taip integruojant nuo 0 iki 5:


  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
Toliau integruodami gauname:

Wolframo integratoriui varžteliai atsisuko, nes integruojant tą patį taip ir taip nuo 0 iki 5 gauname skirtingus atsakymus atitinkamai:
ir
Beje, integruojant taip nuo 0 iki 5 gauname:
[34^0.5]*[(45,955882352941176470588235294118+18,21252075324377514825874567249)-(-9,9264705882352941176470588235294-8,0696138597215246548555685967763)]/25=
=[34^0.5]*[64,168403106184951618846980966608-(-17,996084447956818772502627420306)]/25=
=[34^0.5]*82,164487554141770391349608386914/25=19,163886975712642545064105297031.
Wolframo integratorius duoda keistus sutapimus:
Nors formulė () ir skirta kreivės svorio centro koordinatės nustatymui (), bet sprendžiant iš kai kurių matematikos vadovelių, kreivės masę galima apskaičiuoti, bet tada, matyt, reikia pačiam sugalvoti formulę, pagal kurią skaičiuoti (nebent ten turima galvoje, kad kreivės ilgis lygus masei, o tankis toks pat visuose kreivės taškuose).
Tačiau, ko gero,
Kad išsiaiškinti teisybę pasinaudosime integralų lentele:
Tada integruojame:
Vadinasi, randame tiesės masę kaip prašyta sąlygoje:


  • Nustatyti parabolės 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.
Sprendimas. Iš pradžių apskaičiuosime be integralų apytiksliai:
=389,85003687399407318939051595541/10=38,985003687399407318939051595541.
Integruojame (pasinaudodami integralų lentelės (31) formule):
=338,01247924440330576404858539624.
Pastebime, kad masė galėtų būti Kad tuo įsitikinti pasinaudojame "Free Pascal" (Version 1.0.12 2011/04/23; Compiler Version 2.4.4; Debugger GDB 7.2) programavimo kalba:
   var
   a:longint;
   c:real;
   begin
   for a:=1 to 100  do
   c:=c+sqrt(sqr(10*a/100)+sqr(sqr(10*a/100)))/100;
   writeln(c);
   readln;
   end.
ir gauname atsakymą 34.3053251011728.
Panaudojus šį kodą:
  var
  a:longint;
  c:real;
  begin
  for a:=1 to 10000  do
  c:=c+sqrt(sqr(10*a/10000)+sqr(sqr(10*a/10000)))/10000;
  writeln(c);
  readln;
  end.
gauname atsakymą 33.8062730205864.
Dar tikslesnį atsakymą duoda šitas kodas:
  var
  a:longint;
  c:real;
  begin
  for a:=1 to 1000000000  do
  c:=c+sqrt(sqr(10.0*a/1000000000)+sqr(sqr(10.0*a/1000000000)))/1000000000;
  writeln(c);
  readln;
  end.
po 38 sekundžių su 2,6 GHz procesoriumi.
Optimizuotas kodas:
  var
  a:longint;
  b,c:real;
  begin
  for a:=1 to 1000000000  do
  c:=c+sqrt(sqr(0.00000001*a)+sqr(sqr(0.00000001*a)));
  b:=0.000000001*c;
  writeln(b);
  readln;
  end.
duoda atsakymą 33,8012479746835 po 18 sekundžių su 2,6 GHz procesoriumi.
Toliau, kad surasti kreivės masės skaičiavimo formulę (kai kiekviename kreivės taške tankis priklauso nuo tam tikros funkcijos). Todėl skaičiuojame:
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ą Todėl šį rezultatą ir panaudojame toliau integruodami (o vardiklyje esantį integralą gauname iš integralų lentelės ):
Nepriekaištingai tikslus atsakymas yra:
679216,66666666666666666666666667/(100,12492197250392863848606074161+0,74908917210724008285110536237573+0,17328679513998632735430803036454)=
=679216,66666666666666666666666667/101,04729793975115504869147413435=6721,7697109688724955439401205637.
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:
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 Yra tik bet ir tai integravimas gaunasi su dar dviais pažiūrėjimais į integralų lentelę.
Kai x kinta 0 iki 5, tai integruojant gauname
=43,858169117804135193577942278197.
Randame, m=p/5=43,858169117804135193577942278197/5=8,7716338235608270387155884556395. Tą patį atsakymą (8,77163383630657) 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);
 readln;
 end.


  • Nustatyti parabolės 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.
Sprendimas. Greičiausias būdas apskaičiuoti, tai ko reikalauja sąlyga (uždavinys) yra toks:
Kitas būdas yra toks:
=(669,16822851623458973388183928978 - (2/3)*(1/8))/(100,12492197250392863848606074161 + 0,74908917210724008285110536237573 - (-0,17328679513998632735430803036454))=
=(669,16822851623458973388183928978 - 1/12)/101,04729793975115504869147413435=
=669,08489518290125640054850595645/101,04729793975115504869147413435=6,6215020967887643029775923955111;
čia pasinaudojome integralų lentele ir
Tuo atveju, jeigu x kinta nuo 0 iki 5 tada:
=(84,586453144434159774345479682393-1/12)/(25,124689052802225675548162281899+0,57626894243450610735734085403457-(-0,17328679513998632735430803036454))=
=84,50311981110082644101214634906/25,874244790376718110259811166298=3,2659163772976925830147095531443.

Daug ką reikėtų pašalint iš skyriaus Jėgos darbas

[keisti]

Jėgos darbas padarytas judant kreive plokštumoje apskaičiuojamas pagal formulę Jėgos darbas padarytas judant erdvine kreive apskaičiuojamas taip:

  • Apskaičiuosime darbą jėgos 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, Jėgos F(x, y) koordinatės tokios: [ženklas "" paaiškinamas tuo, kad jėga nukreipta į tašką (0; 0)]. Pagal formulę turime kur L - elipsė Todėl

Jei t keistusi nuo 0 iki integralas butu lygus
Tarkime, jei tai padarytas darbas pirmame ketvirtyje yra
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 čia yra visos x reikšmės ant elipsės linijos pirmame ketvirtyje nuo 0 iki a; analogiškai 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 pagal pirmą variantą. Na, o pagal antrą variantą turime:
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
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ą 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ą po 25 sekundžių ant 2.6 GHz procesoriaus.
Integruojant gauname:
Apskaičiuojame viską nepriekaištingai tiksliai su kompiuterio kalkuliatoriumi:
Toliau bandome rasti atlikta darbą apeita tiese integruojant Randame Turime, kad x integravimo ribos yra 0 iki 5, o y integravimo ribos yra nuo 0 iki 3. Gauname:
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 arba Tuomet akivaizdu, kad
Tą patį darba gauname ir apeinant tiese:
Lygiai tą patį darbą gausime ir integruojant taip:
Tą patį gausime ir taip integruojant nuo 0 iki 5:


  • Nustatyti tiesės 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.
Sprendimas. Pasinaudosime masės skaičiavimo formule
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):
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 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.
Sprendimas.
Integruojame (pasinaudodami integralų lentelės (31) formule):
=338,01247924440330576404858539624.
Toliau, kad surasti kreivės masę (kai kiekviename kreivės taške tankis priklauso nuo tam tikros funkcijos), skaičiuojame:
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ą Todėl šį rezultatą ir panaudojame toliau integruodami:
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:
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 Yra tik 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
=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ą po 73 sekundžių su 2,6 GHz procesoriumi.
Alternatyvus Free Pascal kodas, kuris skaičiuoja pagal formulę 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ą 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ą 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ą 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ą 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ą 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 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.
Sprendimas. Greičiausias būdas apskaičiuoti, tai ko reikalauja sąlyga (uždavinys) yra toks:
Kitas būdas yra toks:
=669,16822851623458973388183928978 - (2/3)*(1/8)=
=669,16822851623458973388183928978 - 1/12=
=669,08489518290125640054850595645;
čia pasinaudojome integralų lentele
Tuo atveju, jeigu x kinta nuo 0 iki 5 tada:
=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. Optimizuotas jo variantas:
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))))*a;
writeln(c*0.000000005);
readln;
end
duoda rezultatą m=84,503119875777473 po 23 sekundžių su 2,6 GHz procesoriumi (daugybos operaciją padaro 2-3 sekundėmis greičiau, tačiau darant vien tik daugybą:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+a*1.0*a;
writeln(c);
readln;
end.
gauname rezultatą po 4-5 sekundžių su 2,6 GHz procesoriumi; pasirodo viskas logiška 4-5 sekundės yra ~2 kartus ilgiau nei 2-3 sekundės ir ten a*1.0*a yra dvi daugybos, o padauginti iš 1.0 yra būtina, nes kitaip neįmanoma ir net keliant kiekvieną a kvadratu, kaip šiame kode:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqr(a);
writeln(c);
readln;
end.
gauname rezultatą po 4-5 sekundžių su 2,6 GHz procesoriumi; kad gauti teisingą rezultatą reikia naudotį tokį kodą:
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+sqr(1.0*a);
writeln(c);
readln;
end.
duodantį rezultatą po 4-5 sekundžių su 2,6 GHz procesoriumi; jei eiltę " c:=c+sqr(1.0*a);" pakeisti eilute "c:=c+a*(a*1.0*a);" arba eilute "c:=c+sqr(a*1.0*a);", tuomet vis tiek gauname rezultatą ( arba atitinkamai) po 4-5 sekundžių su 2,6 GHz procesoriumi; netgi naudojant tokį kodą (kuris pakelia a 17 laipsniu per kiekvieną iteraciją):
var
a:longint;
c:real;
begin
for a:=1 to 1000000000  do
c:=c+a*sqr(sqr(sqr(a*1.0*a)));
writeln(c);
readln;
end.
gauname rezultatą po 5 sekundžių (todėl kyla klausimas ar tik ne integralus "Free pascal" naudoja tam tikrais atvejais, nes
) su 2,6 GHz procesoriumi).

Blogas patikrinimas

[keisti]
  • Su Gryno formule apskaičiuosime kreivinį integralą kur L - apskritimas
Funkcijos ir netrūkios uždarame rate Todėl pagal Gryno teoremą turime ( ):

Patikrinimas. Iš apskritimo lygties gauname:
Todėl
Pasinaudodami internetiniu integratoriumi, gauname, kad
Riba Beje,
Atsakymą reikia padauginti iš 2, kad gauti nuo -R iki +R integravimą. Todėl galutinis atsakymas turi būti kas beveik atitinka tikrąjį atsakymą kai R yra didelis.
Patikrinimas nesuveikė.

Blogas patikrinimas, nes ir todėl patikrinimo atsakymas gaunasi 2 kartus mažesnis

[keisti]
  • Su Gryno formule apskaičiuosime kreivinį integralą kur L - apskritimas
Funkcijos ir netrūkios uždarame rate Todėl pagal Gryno teoremą turime ( ):

Patikrinimas. Iš apskritimo lygties gauname:
Todėl
Pasinaudodami internetiniu integratoriumi, gauname, kad
Riba Beje,