1paskaita6
1paskaita6
1paskaita6
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Aritmetinių veiksmų skaičius<br />
Aritmetinių veiksmų skaičius 1<br />
Apskaičiuokime daugianario<br />
reikšmę taške x = c.<br />
1 algoritmas<br />
i=1<br />
f (x) =a n x n + a n−1 x n−1 + ···+ a 1 x + a 0<br />
f := a 0<br />
Atskirai apskaičiuokime<br />
x, x 2 ,...,x n ,<br />
po to<br />
n∑<br />
a i x i<br />
su visais i nuo 1 iki n<br />
x i := 1<br />
su visais j nuo 1 iki i<br />
x i := x i ∗ c<br />
ciklo pagal j pabaiga<br />
f := f + a i ∗ x i<br />
ciklo pagal i pabaiga<br />
(1 + 2 + ···+ n)+n = n(n+1)<br />
2<br />
+ n = n(n+3)<br />
2<br />
daugybos veiksmų<br />
n sudėties veiksmų<br />
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 31/36<br />
Aritmetinių veiksmų skaičius<br />
Aritmetinių veiksmų skaičius 2<br />
Apskaičiuokime daugianario reikšmę taške x=c:<br />
f (x) =a n x n + a n−1 x n−1 + ···+ a 1 x + a 0<br />
2 algoritmas<br />
f := a 0<br />
x i := c<br />
su visais i nuo 1 iki n<br />
f := f + a i ∗ x i<br />
x i := x i ∗ c<br />
ciklo pagal i pabaiga<br />
Kai n ≫ 1<br />
2n daugybos veiksmų<br />
n sudėties veiksmų<br />
1 algoritmo daugybų skaičius n(n + 3)<br />
= = 0, 25(n+3).<br />
2 algoritmo daugybų skaičius 2(2n)<br />
2 algoritmas taupesnis už 1 algoritmą 0,25(n+3) kartų.<br />
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 32/36<br />
Aritmetinių veiksmų skaičius<br />
Aritmetinių veiksmų skaičius 3<br />
3 algoritmas – Hornerio schema<br />
f (x) =a n x n + a n−1 x n−1 + ···+ a 1 x + a 0<br />
=(···((a n x + a n−1 )x + a n−2 )x + ···+ a 1 )x + a 0<br />
f := a n<br />
su visais i nuo n iki 1 žingsniu -1<br />
f := f ∗ c + a i−1<br />
ciklo pagal i pabaiga<br />
n daugybos veiksmų<br />
n sudėties veiksmų<br />
3 algoritmas: daugybos veiksmų sumažėja 2 kartus, palyginti su 2<br />
algoritmu.<br />
Aritmetinių veiksmų skaičius<br />
Reikšminiai skaitmenys (angl. Significant Digits )<br />
Reikšminis skaitmuo<br />
Skaitmuo, turintis įtakos skaičiaus reikšmei. Jį pašalinus, pakinta<br />
skaičiaus reikšmė.<br />
50500 - visi skaitmenys reikšminiai,<br />
50,500 - du paskutiniai skaitmenys (nuliai) nereikšminiai.<br />
32-bitų sistemose: 7 reikšminiai skaitmenys;<br />
64-bitų sistemose: 17 reikšminių skaitmenų;<br />
Dvigubas tikslumas (double precision): apvalinimo paklaida<br />
sumažinama, skaičiavimo laikas (CPU time) didėja.<br />
π = 3, 141592653589793238462643383 ...- transcendentinis skaičius<br />
⇒ skaičiuojant naudojama jo aproksimacija (pvz., 3,14 arba<br />
22/7; 3,14159 didesniam tikslumui).<br />
√e = 2, 71828182845904523536028747135 ...<br />
2 = 1, 414213562373095048801688724 ...<br />
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 33/36<br />
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 34/36<br />
Aritmetinių veiksmų skaičius<br />
Nereikšminiai skaitmenys<br />
Aritmetinių veiksmų skaičius<br />
Slankiojo kablelio skaičiai<br />
3, 25/1, 96 = 1, 65816326530162 ... (MATLAB)<br />
Praktiškai atsakymas suapvalintas 1, 65 arba 1, 66.<br />
Kodėl<br />
Nežinomas yra sekantis (po šimtųjų) reikšmingas skaitmuo:<br />
{<br />
3, 259/1, 960 = 1, 66275510204082,<br />
3, 250/1, 969 = 1, 65058405281869.<br />
{<br />
3, 254/1, 955 = 1, 66445012787724,<br />
3, 245/1, 964 = 1, 65224032586558.<br />
Realieji skaičiai (floating-point numbers - slankiojo kablelio<br />
skaičiai).<br />
sign signed exponent mantissa<br />
sign (ženklas) 1 (neigiamiems) arba 0 (teigiamiems)<br />
exponent (laipsnio rodiklis) teigiamas arba neigiamas<br />
mantissa (skaičiaus mantisė) reikšminiai skaitmenys<br />
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 35/36<br />
Skaitiniai metodai (MIF VU) Matematinis modeliavimas Komp.aritmetika ir algoritmai 36/36