Logaritminės ir atvirkštinių trigonometrinių funkcijų reikšmių skaičiavimas

Iš testwiki.
11:49, 12 birželio 2024 versija, sukurta imported>Paraboloid (2. Skaičiaus arctg(x) radimas.)
(skirt) ← Ankstesnė versija | Dabartinė versija (skirt) | Vėlesnė versija → (skirt)
Pereiti į navigaciją Jump to search

Elementariųjų funkcijų reikšmių skaičiavimas


Logaritminės ir atvirkštinių trigonometrinių funkcijų reikšmių skaičiavimas pagrįstas Teiloro formulės taikymu. Čia smulkiai aptarsime, kaip skaičiuojamos logaritmo ir arktangento reikšmės. Funkcijų arcctgx, arcsinx ir arccosx reikšmių skaičiavimas pakeičiamas arktangento reikšmių skaičiavimu pagal šitokias žinomas formules:
[ https://en.wikipedia.org/wiki/Inverse_trigonometric_functions#Relationships_among_the_inverse_trigonometric_functions ]
arcctgx=π2arctgx,arcsinx=arctgx1x2,
arccosx=arcctgx1x2=arctg1x2x.

1. Skaičiaus ln(a) radimas

Skaičių a>0 išreikškime sandauga
a=2pM.(8.83)
kurioje p – sveikasis skaičius, o M tenkina nelygybes
12M<1.(8.84)
Pastebėsime, kad skaičių a išreikšti (8.83) sandauga galima vieninteliu būdu. Remdamiesi (8.83) formule, logaritmą lna užrašome šitaip:
lna=ln(2pM)=pln2+lnM.(8.85)
Sakykime,
M=121+x1x,(8.86)
ir šitą M išraišką įrašykime į (8.85) lygybę. Tada logaritmo lna išraiška bus šitokia:
lna=pln2+lnM=pln2+ln(121+x1x)=pln2+ln12+ln1+x1x=
=pln212ln2+ln1+x1x=(p12)ln2+ln1+x1x.
lna=(p12)ln2+ln1+x1x.(8.87)
Funkciją ln1+x1x išdėstysime pagal Makloreno formulę. Pirma rasime kelias funkcijos g(x)=ln1+x1x išvestines ir pagal jas nuspėsime aukštesnių eilių šios funkcijos išvestines (ir jų reikšmes, kai x=0).
g(x)=(ln1+x1x)=1x1+x(1+x1x)=
=1x1+x(1+x)(1x)(1+x)(1x)(1x)2=1x1+x(1x)(1+x)(1)(1x)2=1x1+x(1x)+(1+x)(1x)2=
=1x1+x2(1x)2=2(1+x)(1x)=21x2.
g(x)=(ln1+x1x)=(21x2)=2(1x2)2(1x2)=2(1x2)2(2x)=4x(1x2)2.
g(x)=(ln1+x1x)=(4x(1x2)2)=(4x)(1x2)24x[(1x2)2]((1x2)2)2=
=4(1x2)24x[2(1x2)](1x2)4=4(12x2+x4)4x[2(2x)](1x2)4=48x2+4x4+16x2(1x2)4=
=4+8x2+4x4(1x2)4=4(1+2x2+x4)(1x2)4=4(1+x2)2(1x2)4.
g(4)(x)=(ln1+x1x)(4)=(4(1+x2)2(1x2)4)=
=(8(1+x2)2x)(1x2)44(1+x2)24(1x2)3(2x)(1x2)8=
=16x(1+x2)(1x2)4+32x(1+x2)2(1x2)3(1x2)8.
g(5)(x)=(ln1+x1x)(5)=(16x(1+x2)(1x2)4+32x(1+x2)2(1x2)3(1x2)8)=
=[16x(1+x2)(1x2)4+32x(1+x2)2(1x2)3](1x2)8[16x(1+x2)(1x2)4+32x(1+x2)2(1x2)3]((1x2)8)(1x2)16=
=[16(1+x2)(1x2)4+16xg1(x)+32(1+x2)2(1x2)3+32xg2(x)](1x2)8[16x(1+x2)(1x2)4+32x(1+x2)2(1x2)3]8(1x2)7(2x)(1x2)16=
=[16(1+x2)(1x2)4+16xg1(x)+32(1+x2)2(1x2)3+32xg2(x)](1x2)8+16x[16x(1+x2)(1x2)4+32x(1+x2)2(1x2)3](1x2)7(1x2)16;
čia
g1(x)=[(1+x2)(1x2)4]=2x(1x2)4+(1+x2)4(1x2)3(2x)=2x(1x2)48x(1+x2)(1x2)3,
g2(x)=[(1+x2)2(1x2)3]=2(1+x2)2x(1x2)3+(1+x2)23(1x2)2(2x)=
=4x(1+x2)(1x2)36x(1+x2)2(1x2)2.
Akivaizdu, kad g1(0)=0 ir g2(0)=0.
Randame funkcijos g(x) ir jos išvestinių reikšmes taške x=0:
g(0)=ln1+010=ln1=0,
g(0)=2102=2,
g(0)=40(102)2=0,
g(0)=4(1+202+04)(102)4=4,
g(4)(0)=160(1+02)(1x2)4+320(1+02)2(102)3(102)8=0.
g(5)(0)=[16(1+02)(102)4+160g1(0)+32(1+02)2(102)3+320g2(0)](102)8+160[160(1+02)(102)4+320(1+02)2(102)3](102)7(102)16=
=[16+32]+01=48.
Makloreno eilutės dėstinys su Lagranžo formos liekamuoju nariu bus šitoks:
ln1+x1x=g(0)+g(0)1!x+g(0)2!x2+g(0)3!x3+...+g(n)(0)n!xn+g(n+1)(θx)(n+1)!xn+1=
=0+21!x+02!x2+43!x3+04!x4+485!x5+...+R2n+2(x)=
=2x+23x3+685432x5+...+R2n+2(x)=
=2x+23x3+854x5+...+R2n+2(x)=2x+2x33+2x55+...+2x2n+12n+1+R2n+2(x).
ln1+x1x=2x+2x33+2x55+...+2x2n+12n+1+R2n+2(x),(8.88)
R2n+2(x)=x2n+22n+2[1(1+θx)2n+21(1θx)2n+2];(8.89)
skaičius θ griežtai įterptas tarp nulio ir vieneto.
[Naudotojas Paraboloid neįsivaizduoja iš kur ir kaip gauta tokia R2n+2(x) išraiška. Ar ji teisinga, paaiškės apskaičiavus pavyzdį.]
Skaičiuojant lna artinį, naudojama formulė
lna(p12)ln2+2(x+x33+x55+...+x2n+12n+1),(8.90)
kuri gaunama iš (8.87) lygybės, funkciją ln1+x1x pakeitus šios funkcijos (8.88) Makloreno formulės dalimi be liekamojo nario R2n+2(x). Pastebėsime, kad skaičius x apytikslėje lna formulėje randamas iš (8.86) formulės, atsižvelgus į (8.84) nelygybes, kurias turi tenkinti skaičius M.
Įvertinsime (8.90) formulės paklaidą. Kadangi skaičiaus lna artinio, apskaičiuoto pagal (8.90) formulę, ir tikslios reikšmės, gaunamos pagal (8.87) formulę, skirtumas lygus liekamajam nariui R2n+2(x), tai, aiškinantis paklaidą, užtenka įvertinti tą liekamąjį narį.
Iš pradžių išsiaiškinsime x kitimo ribas. Iš (8.86) formulės gauname
M=121+x1x,(8.86)
M2=1+x1x,
M2(1x)=1+x,
M21=x+xM2,
x=M21M2+1.(8.91)
Jei M reikšmės tenkina (8.84) nelygybes, tai x tenkina sąlygą*
|x|<0.172.(8.92)
[ h(M)=(M21M2+1)=2(M2+1)(M21)2(M2+1)2=(2M+2)(2M2)(M2+1)2=22(M2+1)2.
22(M2+1)2=0. Matome, kad nėra tokių M reikšmių, su kuriom h'(M) būtų lygi nuliui. Todėl funkcija h(M)=M21M2+1 neturi maksimumo ir minimumo taškų.
h(1/2)=1221122+1=12112+1=
=(0.70710678118654752440084436210485-1)/(0.70710678118654752440084436210485+1) =
= -0.29289321881345247559915563789515/1.7071067811865475244008443621048 = -0.17157287525380990239662255158061.
h(1)=12112+1=
=(1.4142135623730950488016887242097-1)/(1.4142135623730950488016887242097+1)=
= 0.4142135623730950488016887242097/2.4142135623730950488016887242097 = 0.1715728752538099023966225515806.
Taigi, matome, kad
-0.17157287525380990239662255158061 < x < 0.1715728752538099023966225515806. Arba |x| < 0.171572875254.]
Dabar pastebėsime, kad liekamasis narys R2n+2(x) vienodai įvertinamas tiek tada, kai x reikšmės teigiamos, tiek tada, kai jos neigiamos (iš (8.89) formulės matyti, kad, x pakeitus -x, liekamojo nario R2n+2(x) struktūra nepasikeičia). Todėl užtenka įvertinti R2n+2(x), kai x>0. Atsižvelgę į tai ir į (8.92) nelygybę, dešiniojoje (8.89) formulės pusėje vietoj x rašome skaičių 0.172, vietoj trupmenos 11+θx rašome vienetą, o vietoj 11θx – skaičių 110.172 ir gauname šitokį įvertį:
|R2n+2(x)|(0.172)2n+22n+2[1+1(10.172)2n+2].
[Taip, čia laužtiniuose skliaustuose jau pliusas pasidarė. Tai arba (8.89) formulėje klaida arba čia.]
Daugiklį (0.172)2n+2 įkelsime į laužtinius skliaustus. Kadangi 0.17210.172<0.208 (0.172/(1-0.172)=0.172/0.828=~0.207729), tai
|R2n+2(x)|(0.172)2n+2+(0.208)2n+22n+2.(8.93)
Skaičiuojant lna elektronine skaičiavimo mašina**, (8.90) formulėje dažniausiai imama n=6. Tuomet skaičiavimo tikslumas, kaip matyti iš (8.93), įvertinamas skaičiumi (0.172)14+(0.208)1414, mažesniu kaip 1.6251010.
[ (0.172^14 + 0.208^14)/14 = 2.1682237054688578614343997699803e-11 2.16822371011. ]
[O jeigu ten turi būti minusas laužtiniuose skliaustuose kaip (8.89) formulėje, tai
(0.172^14 - 0.208^14)/14 = -1.8848887113203326016424566362697e-11 1.884888711321011. Matome, kad nuo to nėra didelio skirtumo.]

________________

* Kadangi x yra argumento M funkcija, tai užtenka rasti maksimalią (8.91) funkcijos modulio reikšmę segmente [12;1].
** Taip skaičiuojamas lna elektronine skaičiavimo mašina БЭСМ-6.

Pavyzdžiai

  • Apskaičiuosime ln(a)=ln(143). Pagal (8.83) formulę
[a=2pM.(8.83)]
143=28M,
M=143256=0.55859375.
Toliau, pagal (8.87) formulę
[lna=(p12)ln2+ln1+x1x.(8.87)]
ln143=(812)ln2+ln1+x1x.
(812)ln2=7.5ln2= 7.5*0.69314718055994530941723212145818 = 5.1986038541995898206292409109363.
Tiksli ln(143) reikšmė yra ln(143)=4.9628446302599072801154310195304.
Iš (8.91) formulės randame x:
x=M21M2+1=0.55859375210.558593752+1=
= (0.55859375*1.4142135623730950488016887242097 - 1)/(0.55859375*1.4142135623730950488016887242097+1) =
= -0.11733662705136264741194733209931.
Toliau pagal (8.88) formulę apskaičiuosime ln1+x1x, kai n=6.
ln1+x1x=2x+2x33+2x55+...+2x2n+12n+1=
=2x+2x33+2x55+2x77+2x99+2x1111+2x1313=2(x+x33+x55+x77+x99+x1111+x1313)=
= 2*(-0.11733662705136264741194733209931 -0.11733662705136264741194733209931^3/3 -0.11733662705136264741194733209931^5/5
-0.11733662705136264741194733209931^7/7 -0.11733662705136264741194733209931^9/9 -0.11733662705136264741194733209931^11/11
-0.11733662705136264741194733209931^13/13) =
(nukopijavus viską nuo "2" iki ženklo "=" ir įdėjus (padarius "Paste") į Windows 10 kalkuliatorių gaunamas žemiau esantis atsakymas)
= -0.23575922393968105542703851052716.
Pridėjus gautą atsakymą prie 7.5*ln(2) reikšmės, gauname ln(a)=ln(143) artinį:
ln143=(812)ln2+ln1+x1x=7.5ln2+ln1+x1x=
= 5.1986038541995898206292409109363 + (-0.23575922393968105542703851052716) = 4.9628446302599087652022024004091.
Atėmę gautą ln(143) reikšmę iš tikslios ln(143) reikšmės, gauname
4.9628446302599072801154310195304 - 4.9628446302599087652022024004091 = -0.0000000000000014850867713808787 = 1.485086771015.
1+x1x= (1+(-0.11733662705136264741194733209931))/(1-(-0.11733662705136264741194733209931)) =
= (1-0.11733662705136264741194733209931)/(1+0.11733662705136264741194733209931) = 0.78997085710684606241656831078901.
Tiksli ln(0.78997085710684606241656831078901) reikšmė yra tokia:
ln(0.78997085710684606241656831078901) = -0.23575922393968254051380989140588.
ln1+x1x (su x=-0.11733662705136264741194733209931) paklaida yra tokia:
-0.23575922393968254051380989140588 - (-0.23575922393968105542703851052716) =
= -0.23575922393968254051380989140588 + 0.23575922393968105542703851052716 = -0.00000000000000148508677138087872 = 1.485086771015.
Pagal (8.89) formulę
R2n+2(x)=x2n+22n+2[1(1+θx)2n+21(1θx)2n+2].(8.89)
|R2n+2(x)|<(0.117336627)2n+22n+2[1(1+(0.117336627))2n+21]=(0.117336627)26+226+2[1(10.117336627)26+21]=
=(0.117336627)1414[1(10.117336627)141]=
= (-0.11733662705136264741194733209931)^14 * (1/(1-0.11733662705136264741194733209931)^14 -1)/14 =
= 3.1744477658835444278622203928479e-14 3.17444776588354441014.
Matome, kad paklaida įvertinta teisingai, nes
1.485086771015<3.17444776588354441014.
Pastebėsime, kad
(0.117336627)1414= 6.6979571136742061476086008278822e-15 6.69795711367421015;
(0.117336627)1515= -0.11733662705136264741194733209931^15/15 = -7.3352131612966428681484668924553e-16.
Todėl (8.88) formulėje liekamąjį narį tikriausiai galima įvertinti taip:
|R2n+2(x)|<|x2n+22n+2|6.69795711367421015.
Arba garantuotai visais atvejais R(x) turėtų būti teisingas, kai
|R(x)|<|x2n+12n+1|.
Nes (0.117336627)1313= -0.11733662705136264741194733209931^13/13 = -6.1474279304103020252424035678064e-14.

2. Skaičiaus arctg(x) radimas.

Skaičiuojant arctgα, užtenka nagrinėti teigiamas argumento reikšmes, nes, kai |α|=x, gauname
arctgα=sgnαarctgx.
Aprašysime standartines transformacijas, kuriomis arctgx skaičiavimas, kai argumento x reikšmės ne mažesnės kaip 18, pakeičiamas arktangento skaičiavimu, kai argumento reikšmės mažesnės už 18.
Iš pradžių tarkime, kad x1. Sakykime, y=arctgx, t. y. x=tgy, o x1=tg(yarctg1). Iš paskutinės lygybės gauname
[pasinaudodami formule (iš https://lt.wikibooks.org/wiki/Matematika/Trigonometrinės_formulės) tan(αβ)=tanαtanβ1+tanαtanβ.(7)]
x1=tg(yarctg1)=tgytg(arctg1)1+tgytg(arctg1)=tgy11+tgy1=tgy1tgy+1=x1x+1<1.
Kadangi
arctgx1=arctg[tg(yarctg1)]=yarctg1=arctgxarctg1,
arctgx=arctg1+arctgx1=π4+arctgx1,
tai, norint apskaičiuoti arctgx, kai x1, pakanka apskaičiuoti arctgx1, kai 0<x1<1.
Dabar aptarsime atvejį, kai argumentas tenkina nelygybes 18x<1.
Sakykime, k1=1,k2=12,k3=14,k4=18. Savaime aišku, su kokia nors i=1,2,3,4 reikšme yra teisingos nelygybės
kix<2ki.(8.94)
[Kai x daugiau už 1, tai x gali būti daugiau už 2ki. Tiksliau, kai x>2, tai x>2k1=2.]
Tarkime, kad y=arctgx, t. y. x=tgy, o xi=tg(yarctgki). Iš paskutinės lygybės gauname
[pasinaudodami formule tan(αβ)=tanαtanβ1+tanαtanβ]
xi=tg(yarctgki)=tgytg(arctgki)1+tgytg(arctgki)=tgyki1+tgyki=xki1+kix.
Kadangi x>0, tai 1+kix>1. Be to, iš dešiniosios (8.94) nelygybės išplaukia xki<2kik1=ki. Todėl iš paskutinės xi išraiškos gauname nelygybę xi<ki. Kadangi
arctgxi=arctg[tg(yarctgki)]=yarctgki=arctgxarctgki,
arctgx=arctgki+arctgxi,
tai arctgx skaičiavimas, kai x tenkina (8.94) nelygybes, pakeičiamas arctgxi skaičiavimu, kai 0<xi<ki.
Jei aprašytąsias argumento x transformacijas pakartosime daugių daugiausia keturis kartus, tai arctgx skaičiavimą, kai x reikšmės priklauso pusintervaliui 18x<1, pakeisime arktangento skaičiavimu, kai argumento reikšmės mažesnės už 18.
[Ten klaidelė. Maksimum keturių transformacijų reikia, kai x reikšmės priklauso pusintervaliui 18x, o kai x reikšmės priklauso pusintervaliui 18x<1, tai tada daugių daugiausia gali prireikti 3 transformacijos.]
Skaičiuojant arctgx, kai x<18, naudojama Makloreno formulė (kuri išvedama čia: https://lt.wikibooks.org/wiki/Matematika/Matematinės_eilutės)
arctgx=xx33+x55x77+...+(1)nx2n+12n+1+R2n+2(x).
Dažniausiai šioje formulėje imama n=6 ir atmetamas liekamasis narys (taip, pavyzdžiui, daroma skaičiuojant elektronine mašina БЭСМ-6). Logaritmo ir arktangento skaičiavimo programa yra bendra. Naudojant tą programą arktangentui skaičiuoti, reikia, kad gretimi nariai x2n+12n+1 būtų priešingų ženklų.

Pavyzdžiai

  • Apskaičiuosime arctg5. Čia x=5. Tada
xi=xki1+kix.
Pradėsime nuo to, kad k1=1. Tada
x1=xk11+k1x=x11+x=511+5=46=23.
Toliau
arctgx=arctgki+arctgxi=arctgk1+arctgx1=arctg1+arctg23=π4+arctg23.
Toliau imsime k2=12. Tada
x2=x1k21+k2x1=x1121+12x1=23121+1223=4361+13=163+13=1643=1634=18.
Toliau
arctg23=arctgx1=arctgk2+arctgx2=arctg12+arctg18.
Toliau imsime k4=18. Tada
x4=x2k41+k4x2=x2181+18x2=18181+1818=01+164=064+164=06564=0.
Ir gauname
arctg18=arctgx2=arctgk4+arctgx4=arctg18+arctg0=arctg18+0=arctg18.
Tokiu budu
arctg5=arctgx=π4+arctg23=π4+arctg12+arctg18.
π4= 0.78539816339744830961566084581988;
arctg12= 0.46364760900080611621425623146121;
arctg18= 0.12435499454676143503135484916387.
Šiame pavyzdyje skaičiuoti Makloreno eilutės nereikia su x reikšme mažesne už 1/8, nes x4=0.
Taigi,
arctg(5) = 0.78539816339744830961566084581988 + 0.46364760900080611621425623146121 + 0.12435499454676143503135484916387 =
= 1.373400766945015860861271926445.
Tiksli arctg(5) reikšmė iš kalkuliatoriaus yra tokia:
arctg(5) = 1.373400766945015860861271926445.
Gavome tą patį atsakymą.


  • Apskaičiuosime arctg7. Čia x=7.
Pradėsime nuo to, kad k1=1. Tada
x1=xk11+k1x=x11+x=711+7=68=34.
Toliau
arctgx=arctgk1+arctgx1=arctg1+arctg34=π4+arctg34.
Toliau imsime k2=12. Tada
x2=x1k21+k2x1=x1121+12x1=34121+1234=3241+38=148+38=14118=14811=211=0.(18).
Tuo tarpu k3=14=0.25 yra daugiau už 0.(18). Todėl skaičiavimus su k3=14 praleisime ir iškart skaičiuosime toliau su k4=18=0.125 (nes 0.125 yra mažiau nei 2/11=0.(18)). Taigi,
x4=x2k41+k4x2=x2181+18x2=211181+18211=1611881+288=58888+288=5889088=5888890=590=118=0.0(5).
[1/18 = 0.05555555555555555555555555555556.]
Toliau galime skaičiuoti pagal Makloreno formulę,
arctgx=xx33+x55x77+...+(1)nx2n+12n+1+R2n+2(x),
imdami n=6 ir vietoje x įrašę x4. Tada gauname:
arctg118=arctgx4=x4x433+x455x477+x499x41111+x41313=
= 1/18 - 1/18^3/3 + 1/18^5/5 - 1/18^7/7 + 1/18^9/9 - 1/18^11/11 + 1/18^13/13 = 0.05549850524571683556705277298107.
(Kad gauti tokį atsakymą greitai, tereikia aukščiau esančią eilutę nukopijuoti ir įdėti į Windows 10 kalkuliaorių, padarius "Paste").
Atėmę gautą arctg(1/18) reikšmę iš tikslios arctg(1/18) reikšmės, gauname paklaidą:
0.05549850524571683555719814809224 - 0.05549850524571683556705277298107 = -0.00000000000000000000985462488883 = =9.854624888831021.
Kaip ir su natūrinio logaritmo skaičiavimu, liekamąjį narį galima įvertinti taip:
|R2n+2(x4)|<|x42n+22n+2|= 1/18^14/14 = 1.9057103509769875767803163358316e-19 1.905710351019.
Tada
arctg34=arctgx1=arctgk2+arctgx2=arctg12+arctg211;
arctg211=arctgx2=arctgk4+arctgx4=arctg18+arctg118.
Todėl
arctg7=arctgx=π4+arctg34=π4+arctg12+arctg211=
=π4+arctg12+arctg18+arctg118=
= 0.78539816339744830961566084581988 + 0.46364760900080611621425623146121 +0.12435499454676143503135484916387 + 0.05549850524571683556705277298107 = 1.428899272190732696428324699426.
Atėmę ką tik gautą arctg(7) reikšmę iš kalkuliatoriaus tikslios arctg(7) reikšmės, gauname paklaidą:
1.4288992721907326964184700745372 - 1.428899272190732696428324699426 = -9.8546248888316409091970590727231e-21 =
= -0.0000000000000000000098546248888 9.85462488881021.


Pastabos. Čia visos arkatangento reikšmės skaičiuojamos radianais. Kad kalkuliatorius skaičiuotų radianais, reikia paspausti mygtuką, kuris keičia tarp laipsnių, radianų ir gradianų (iš "DEG", "RAD" ir "GRAD" reikia išrinkti, kad rodytų "RAD"). O tam, kad kalkuliatorius apskaičiuotų arktangento reikšmę, reikia iš pradžių įrašyti skaičių į kalkuliatorių ir paskui Windows 10 kalkuliatoriuje (kuris turi būti nustatytas [vienu paspaudimu] per patį kalkuliatorių, kad būtų "Scientific") paspausti "Trigonometry", vėliau paspausti 2nd ir tada paspausti tan1. Tada ir bus gauta arktangento reikšmė radianais, jei buvo pasirinkta "RAD".