Exponent. Integer 4 bajty až Double Integer 8 bajtů až

Podobné dokumenty
Úvod do numerické matematiky

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Aplikovaná numerická matematika

Úvod do problematiky numerických metod. Numerické metody. Ústav matematiky. 6. února 2006

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Číselné soustavy. Binární číselná soustava

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

NPRG030 Programování I, 2018/19 1 / :25:37

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Numerická stabilita algoritmů

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Co je obsahem numerických metod?

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

Čísla a číselné soustavy.

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Datové typy a jejich reprezentace v počítači.

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

v aritmetické jednotce počíta

UMÍ POČÍTAČE POČÍTAT?

0.1 Úvod do matematické analýzy

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují.

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Algoritmy a datové struktury

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Úlohy nejmenších čtverců

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Y36SAP - aritmetika. Osnova

Úvod. Integrování je inverzní proces k derivování Máme zderivovanou funkci a integrací získáme původní funkci kterou jsme derivovali

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Digitální učební materiál

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Ing. Igor Kopetschke TUL, NTI

2 Ukládání dat do paměti počítače

Už známe datové typy pro representaci celých čísel i typy pro representaci

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

Elementární datové typy

C2115 Praktický úvod do superpočítání

Matematika B101MA1, B101MA2

E. Pohyblivářádováčárka

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

8 Matice a determinanty

AVDAT Nelineární regresní model

Matematika (KMI/PMATE)

Připomenutí co je to soustava lineárních rovnic

ALGEBRA. Téma 5: Vektorové prostory

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Numerická matematika 1

Programovací jazyk Pascal

Základy maticového počtu Matice, determinant, definitnost

Informatika Datové formáty

0.1 Úvod do lineární algebry

1 Polynomiální interpolace

Posloupnosti a jejich limity

Aplikovaná numerická matematika - ANM

Numerické řešení nelineárních rovnic

Zavedení a vlastnosti reálných čísel

0.1 Úvod do lineární algebry

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

Základy matematiky pro FEK

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

Základy matematiky pro FEK

12. Křivkové integrály

Úvod do lineární algebry

Teorie. Hinty. kunck6am

Určete (v závislosti na parametru), zda daný integrál konverguje, respektive zda konverguje. dx = t 1/α 1 dt. sin x α dx =

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

Floating Point. Jak je reprezentovaný a proč někdy nefunguje. 2. června 2013

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Datové typy pro reálná čísla

Je založen na pojmu derivace funkce a její užití. Z předchozího studia je třeba si zopakovat a orientovat se v pojmech: funkce, D(f), g 2 : y =

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Aplikovaná numerická matematika

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Struktura a architektura počítačů (BI-SAP) 5

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

stránkách přednášejícího.

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

( + ) ( ) f x x f x. x bude zmenšovat nekonečně přesný. = derivace funkce f v bodě x. nazýváme ji derivací funkce f v bodě x. - náš základní zápis

Funkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015

Matematická analýza III.

Mikroprocesorová technika (BMPT)

Architektury počítačů

Definice 1.1. Nechť je M množina. Funkci ρ : M M R nazveme metrikou, jestliže má následující vlastnosti:

2. Řešení algebraické

2 Vektorové normy. Základy numerické matematiky - NMNM201. Definice 1 (Norma). Norma je funkcionál splňující pro libovolné vektory x a y a pro

Čebyševovy aproximace

PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.

Transkript:

1. Opakování teorie 1.1. Reprezentace čísel v počítači Celá čísla (přesné výpočty, velmi omezený rozsah): INTEGER => 2 byty = 16 bitů => 2 16 čísel <-32768, 32767> LONGINT => 4 byty = 32 bitů => 2 32 čísel <-2 31, -2 31-1> Reálná čísla - čísla v pohyblivé desetinné tečce : ± 5.423687. 10 ± 23 Znaménko Exponent Mantisa Reálná čísla jsou v počítači uložena jako (dvojková soustava): s x m x 2 e. Délka MANTISY - tj. počet bitů na mantisu určuje přesnost čísla (tj. počet čísel mezi 1 a 2). Interval mezi čísly mezi 1 a 2 je rovnoměrný - do paměti se mohou ukládat jenom čísla 1, 1 + ε, 1 + 2 ε,..., 2 ε (viz. kap. 1.2). Čím více bitů na mantisu, tím menší ε menší chyby při zaokrouhlování (u mezivýsledků je v registrech procesoru přesnost vyšší). Při změnách exponentů se krok mezi čísly zvýší úměrně 2 exponent (relativní chyba čísla se ale nemění). Různé typy reálných čísel se liší počtem bitů použitých na uložení exponentu, velikostí konstanty a počtem bitů použitých na uložení mantisy. Zatímco exponent je zodpovědný za to, jak veliké nebo malé číslo můžeme uložit, mantisa je zodpovědná za to, jak přesné číslo máme. Délka EXPONENTU - tj. počet bitů na exponent - určuje rozsah Datový typ Velikost v paměti Rozsah Celočíselné typy Boolean 1 bit (ačkoliv obvykle uložen jako 1 bajt) 0 až 1 Byte 8 bitů (= 1 bajt) 0 až 255 Word 2 bajty 0 až 65 535 Double Word 4 bajty 0 až 4 294 967 295 Integer 4 bajty 2 147 483 648 až 2 147 483 647 Double Integer 8 bajtů 9 223 372 036 854 775 808 až 9 223 372 036 854 775 807 Typy s plovoucí čárkou Real 4 bajty 1E-37 až 1E+37 (6 desetinných míst) Double Float 8 bajtù 1E-307 až 1E+308 (15 desetinných míst) - 1 -

1.2. Strojové epsilon Každé reálné číslo je v počítači uloženo s omezeným počtem platných cifer, tedy s omezenou přesností. Ve skutečnosti se jedná o omezený počet cifer ve dvojkové soustavě, což je pro běžného uživatele špatně představitelné. Proto se často jako míra této přesnosti užívá tzv. strojové epsilon. Jedná se o nejmenší číslo, které když přičteme k jedničce (stejného datového typu) získáme číslo odlišné od jedničky. Každé menší číslo je po přičtení a zkrácení na patřičný počet platných cifer je totožné s jedničkou. Čím více platných cifer budeme mít k dispozici, tím menší bude strojové epsilon. Můžeme tedy očekávat, že reálné typy zabírající v paměti více místa budou mít menší strojové epsilon. Odhad strojového epsilon můžeme získat tak, že zvolíme počáteční odhad (libovolně vysoký) a postupně jej dělíme například dvěma tak dlouho, dokud po přičtení k jedničce dostaneme číslo větší než jedna. {Program pro odhad strojoveho epsilon. Tedy nejmensiho cisla, ktere po pricteni k 1 jeste neda opet 1. Pocitat budeme pro typy real, single a double} {$N-} {prepinac zakazující pouzivani koprocesoru a vylepsenych schopnosti} program StrojoveEpsilon; jednickareal,epsilonreal:real; jednickareal := 1.0; {pouzivame proto, aby jednicka i epsilon melo stejny typ} epsilonreal := 0.1; {uvodni odhad epsilon} while jednickareal + epsilonreal > jednickareal do epsilonreal := epsilonreal / 2.0; end. write('typ REAL zabira v pameti bytu: '); writeln(sizeof(jednickareal)); write('odhad strojoveho epsilon typu real je: '); writeln(epsilonreal); 1.3. Minimální kladné číslo V každém reálném datovém typu existuje minimální kladné číslo. Každé menší už by bylo uloženo jako nula. Takové číslo by mělo maximální možný záporný exponent a v mantise samé nuly (neboť první jednička je explicitně v mantise vždy). Odhad minimálního kladného čísla můžeme získat tak, že zvolíme počáteční odhad (libovolně vysoký) a postupně jej dělíme například dvěma tak dlouho, dokud nezískáme nulu. Číslo předcházející tomuto poslednímu je náš odhad. {Program pro odhad nejmensioho nenuloveho cisla.} {$N-} {prepinac zakazující pouzivani koprocesoru a vylepsenych schopnosti} program MinimalniCislo; mincislo,predchozimincislo:real; mincislo := 0.1; while mincislo > 0.0 do - 2 -

predchozimincislo := mincislo; mincislo := mincislo / 2.0; end. write('typ REAL zabira v pameti bytu: '); writeln(sizeof(mincislol)); write('odhad nejmensiho nenuloveho cisla: '); writeln(predchozimincislo); 1.4. Počítačová aritmetika Z principu uložení reálných čísel v počítači lze dospět k několika pravidlům, které je třeba mít stále na mysli. Některé zřejmé rovnosti či nerovnosti z matematiky platí i v počítači, některé však nikoli. Platí: 1 x = x Nemusí platit: x y = y x x + x = 2 x x x -1 = 1 (1 + x) 1 = x (x + y) + z = x + (y + z) Že neplatí asociativnost sčítání se můžeme snadno přesvědčit na jednoduchém příkladu. Mějme řadu definovanou jako x n = 1 / n 1.1. Při sečtení prvních 20 členů v jednom směru a v druhém směru dostaneme poněkud odlišný výsledek, ačkoli jsme sčítali naprosto stejná čísla! {Program pro testovani rozdilu poradi scitani} {$N+$E+} program TestRazeniScitani; n:integer; (*takto nadefinujeme radu, v podstate se jedna o i^{-1.1} *) function rada(i:integer):real; rada := exp(-ln(1.1)*i); (* tato funkce nam secte cleny vzestupne *) function soucetprvnichnvzestupne(n:integer):real; i:integer; mezisoucet:real; mezisoucet := 0; for i := 0 to n do mezisoucet := mezisoucet + rada(i); soucetprvnichnvzestupne := mezisoucet; - 3 -

(* a tato sestupne *) function soucetprvnichnsestupne(n:integer):real; i:integer; mezisoucet:real; mezisoucet := 0; for i := n downto 0 do mezisoucet := mezisoucet + rada(i); soucetprvnichnsestupne := mezisoucet; write('zadejte pocet scitancu n: '); readln(n); write('soucet vzestupne: '); writeln(soucetprvnichnvzestupne(n)); write('soucet sestupne: '); writeln(soucetprvnichnsestupne(n)); end. readln; 1.5. Zaokrouhlovací chyba Zdroje chyb: Chyby vstupních dat (např. chyby měření, chyby modelu reality) Chyby metody (Truncation errors) - v důsledku převedení matematické úlohy na numerickou Zaokrouhlovací chyby (Roundoff errors) - v důsledku zaokrouhlování při výpočtech s čísly o konečné délce 1.6. Zaokrouhlovací chyba při aritmetických operacích Absolutní chyba: A x = x1 x2 kde: x 1 přesná hodnota x 2 přibližná hodnota a(x) odhad absolutní chyby Relativní chyba: R ( ) a( x ) A( x ) x ( x) = r( x ) - 4 -

kde: r(x) odhad relativní chyby 1.7. Úprava výrazů Při výpočtech derivace, integrálu apod. nahrazujeme nekonečně krátký krok dx konečným krokem h. Pozor: Tento typ chyby nijak nesouvisí se zaokrouhlováním. 1.8. Korektnost a podmíněnost úlohy Korektnost úlohy - definice: r Nechť r úlohou je najít řešení y N (N je množina možných řešení) pro zadaný vektor. x M (M je množina vstupních dat). Pak úloha je korektní právě tehdy, jsou-li splněny následující dvě podmínky : 1. Existuje právě jedno řešení y r pro x r M. 2. Řešení spojitě závisí na vstupních datech, tj. jestliže pro n z množiny přirozených čísel je. y r n řešení pro vstupní data x r n, a jestliže y r je řešení pro vstupní data x r, nechť dále ρ je norma v množině vstupních dat a σ je norma v množině možných řešení, pak platí: x n ρ x y V praxi se řeší i nekorektní úlohy, ale 1. krok řešení spočívá v nalezení vhodného způsobu, jak převést úlohu na úlohu korektní (např. podmínkou na výsledek; interpretací vstupních dat; vhodnou volbou normy v prostoru řešení apod.) n σ y Podmíněnost úlohy - definice: Podmíněnost úlohy C p je daná poměrem relativní změny výsledku ku relativní změně vstupních dat, tj.: C p δy y = δ x x r( y ) r( x ) Pokud C p ~ 1, říkáme, že úloha je dobře podmíněná, pokud C p > 100, úloha je špatně podmíněná. Pokud je přesnost použitého typu čísel ε (r(x) = ε), pak úloha s C p > ε -1 není v rámci dané přesnosti řešitelná. Často se pro špatně podmíněné úlohy používají speciální metody, které omezují růst zaokrouhlovacích chyb. Příklad: - 5 -

Soustava lineárních rovnic s maticí blízkou k singulární (špatně podmíněná matice). Nechť je dána úloha: x + αy = 1 αx + y = 0 Nechť vstupem je hodnota α a výstupem hodnota x. Pak 1 x = 1 α 2 a C p = δx x α dx = δα x dα α α 1 1 α 2 2α = 2α 2 2 2 2 ( 1 α ) 1 α Při α 2 1 je úloha špatně podmíněná. - 6 -