Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

Podobné dokumenty
Iterační výpočty Projekt č. 2

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

MODELOVÁNÍ A SIMULACE

Základy programování (IZP)

Základy programování (IZP)

Matematika I A ukázkový test 1 pro 2018/2019

Základy programování (IZP)

Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. projekt č listopadu 2008

SIMULACE. Numerické řešení obyčejných diferenciálních rovnic. Měřicí a řídicí technika magisterské studium FTOP - přednášky ZS 2009/10

Ivana Linkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE. 2 NURBS reprezentace křivek

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

LOGICKÉ OBVODY J I Ř Í K A L O U S E K

Základy programování (IZP)

VLIV VELIKOSTI OBCE NA TRŽNÍ CENY RODINNÝCH DOMŮ

ANALÝZA VZTAHU DVOU SPOJITÝCH VELIČIN

Lokace odbavovacího centra nákladní pokladny pro víkendový provoz

ARITMETICKOLOGICKÁ JEDNOTKA

Přemysl Žiška, Pravoslav Martinek. Katedra teorie obvodů, ČVUT Praha, Česká republika. Abstrakt

Základy programování (IZP)

7. STATISTICKÝ SOUBOR S JEDNÍM ARGUMENTEM

Maticová exponenciála a jiné maticové funkce

CHYBY MĚŘENÍ. uvádíme ve tvaru x = x ± δ.

Energie elektrického pole

Digitální přenosové systémy a účastnické přípojky ADSL

Numerické metody optimalizace

VÝVOJ SOFTWARU NA PLÁNOVÁNÍ PŘESNOSTI PROSTOROVÝCH SÍTÍ PRECISPLANNER 3D. Martin Štroner 1

C# konzole Podíl dvou čísel, podmínka IF

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

MS EXCEL 2010 ÚLOHY. Vytvořte tabulku podle obrázku, která bude provádět základní matematické operace se dvěma zadanými čísly a a b.

Spínací a číslicová technika

ZÁPADOČESKÁ UNIVERZITA V PLZNI

POROVNÁNÍ MEZI SKUPINAMI

Algoritmus pro hledání nejkratší cesty orientovaným grafem

KOMPLEXNÍ ČÍSLA (druhá část)

Masarykova univerzita Ekonomicko správní fakulta

A u. jsou po řadě počáteční a koncové body úsečky; t je parametr:

1.2. Postup výpočtu. , [kwh/(m 3.a)] (6)

ŘEŠENÍ PROBLÉMU LOKALIZACE A ALOKACE LOGISTICKÝCH OBJEKTŮ POMOCÍ PROGRAMOVÉHO SYSTÉMU MATLAB. Vladimír Hanta 1, Ivan Gros 2

MĚŘENÍ ELEKTRICKÝCH PARAMETRŮ V OBVODECH S PWM ŘÍZENÝMI ZDROJI NAPĚTÍ Electric Parameter Measurement in PWM Powered Circuits

MS EXCEL 2010 ÚLOHY. Vytvořte tabulku podle obrázku, která bude provádět základní matematické operace se dvěma zadanými čísly a a b.

Metody zvýšení rozlišovací obrazů

Aplikace simulačních metod ve spolehlivosti

Regresní a korelační analýza

Úvod do programování. Lekce 3

Posuzování dynamiky pohybu drážních vozidel ze záznamu jejich jízdy

7.3 Mělká a hluboká kopie Pochopit správně rozdíly mezi mělkou a hlubokou kopií je velmi důležité, provedeme tedy ještě toto shrnutí.

Projektč.3dopředmětuIZP. Maticové operace

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

Doňar B., Zaplatílek K.: MATLAB - tvorba uživatelských aplikací, BEN - technická literatura, Praha, (ISBN:

Jihočeská univerzita v Českých Budějovicích. Pedagogická fakulta Katedra fyziky. Bakalářská práce

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

podle typu regresní funkce na lineární nebo nelineární model Jednoduchá lineární regrese se dá vyjádřit vztahem y

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

radiační ochrana Státní úřad pro jadernou bezpečnost

Monte Carlo metody Josef Pelikán CGG MFF UK Praha.

Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky LOGICKÉ OBVODY pro kombinované a distanční studium

2. Definice pravděpodobnosti

Úvod do programování - Java. Cvičení č.4

2.4. DISKRÉTNÍ SIGNÁLY Vzorkování

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Vícekriteriální rozhodování. Typy kritérií

KTE / PPEL Počítačová podpora v elektrotechnice

4EK211 Základy ekonometrie

REGRESNÍ ANALÝZA. 13. cvičení

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

Struktura a architektura počítačů

Implementace bioplynové stanice do tepelné sítě

Spojité regulátory - 1 -

1.3. ORTOGONÁLNÍ A ORTONORMÁLNÍ BÁZE

4EK211 Základy ekonometrie

Univerzita Tomáše Bati ve Zlíně

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

Numerická matematika 1. t = D u. x 2 (1) tato rovnice určuje chování funkce u(t, x), která závisí na dvou proměnných. První

3 VYBRANÉ MODELY NÁHODNÝCH VELIČIN. 3.1 Náhodná veličina

8a.Objektové metody viditelnosti. Robertsův algoritmus

Optimalizační přístup při plánování rekonstrukcí vodovodních řadů

Fyzika biopolymerů. Elektrostatické interakce makromolekul ve vodných roztocích. Vodné roztoky. Elektrostatická Poissonova rovnice.

Návod k obsluze. Rádiový snímač prostorové teploty s hodinami

Univerzita Karlova v Praze Pedagogická fakulta

1. Cvičení ze Základů informatiky - rozsah 4+8 z,zk

VOLBA HODNOTÍCÍCH KRITÉRIÍ VE VEŘEJNÝCH ZAKÁZKÁCH

Dokumetace k projektu pro předměty IZP a IUS

Jiří Militky Škály měření Nepřímá měření Teorie měření Kalibrace

SCIENTIFIC PAPERS OF THE UNIVERSITY OF PARDUBICE APLIKACE NEURONOVÝCH SÍTÍ PRO DETEKCI PORUCH SIGNÁLŮ

Mikroprocesorová technika (BMPT)

Vkládání pomocí Viterbiho algoritmu

MASARYKOVA UNIVERZITA PEDAGOGICKÁ FAKULTA

popsat činnost základních zapojení převodníků U-f a f-u samostatně změřit zadanou úlohu

KOMPLEXNÍ ČÍSLA. Algebraický tvar komplexního čísla

MATA Př 3. Číselné soustavy. Desítková soustava (dekadická) základ 10, číslice 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Ing. Barbora Chmelíková 1

Otto DVOŘÁK 1 NEJISTOTA STANOVENÍ TEPLOTY VZNÍCENÍ HOŘLAVÝCH PLYNŮ A PAR PARABOLICKOU METODOU PODLE ČSN EN 14522

Úvod do programování. Lekce 1

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

6 LINEÁRNÍ REGRESNÍ MODELY

KTE / PPEL Počítačová podpora v elektrotechnice

Příprava ke státním maturitám 2011, vyšší úroveň obtížnosti materiál stažen z

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

6. Demonstrační simulační projekt generátory vstupních proudů simulačního modelu

Transkript:

Dokumentace k projektu pro předměty IZP a IUS Iterační výpočty projekt č.. lstopadu 1 Autor: Mlan Setler, setl1@stud.ft.vutbr.cz Fakulta Informačních Technologí Vysoké Učení Techncké v Brně

Obsah 1 Úvod... 1 Analýza problému... 1. 1 Zadání problému... 1. Obecný logartmus... 1. Hyperbolcký tangens.... 4 Vážený artmetcký průměr.... 5 Vážený kvadratcký průměr... Návrh řešení problému.... 1 Obecný logartmus.... 1. 1 Rekurentní vztah... 4. Hyperbolcký tangens... 4. Vážený artmetcký a kvadratcký průměr... 5. 4 Počet platných číslc... 5 4 Specfkace testů... 5 5 Pops řešení... 7 5. 1 Ovládání programu... 7 5. Datové typy... 8 5. Vlastní realzace... 8 6 Závěr... 8 A Metrky kódu... 9

1 Úvod Tento dokument obsahuje pops návrhu a mplementace programu, který pomocí teračních algortmů zpracovává číselná data zadaná užvatelem a provádí matematcké operace obecný logartmus a hyperbolcký tangens. Se stejným daty počítá také vážený artmetcký průměr a vážený kvadratcký průměr. Analýza problému. 1 Zadání problému Výsledný program musí být schopen provádět matematcké operace hyperbolcký tangens a obecný logartmus. U obou operací určuje přesnost užvatel zadáním parametru sgdg. U obecného logartmu užvatel navíc zadává také základ logartmu. Druhým požadavkem je výpočet statstckých funkcí vážený artmetcký průměr a vážený kvadratcký průměr. Užvatel zadává na standardní vstup posloupnost hodnot, které jsou v programu zpracovány a každé této hodnotě přísluší jedna hodnota z výstupní posloupnost, která je vypsována na standardní výstup. U statstckých funkcí je vstupní posloupnost nterpretována jako dvojce hodnot a výstupní posloupnost je tedy polovční délky vstupní posloupnost. Program musí být schopen ověřt, zda zadané parametry a vstupní hodnoty vyhovují matematcké defnc daných operací a musí umět ošetřt výjmečné případy za použtí hodnot INFINITY a NAN.. Obecný logartmus Logartmcká funkce (v projektu jako loga) je funkcí nverzní k funkc eponencální, jejím výsledkem (y) je číslo nazývané logartmus, pro nějž platí vztahy: y log a, a y (1) Prvním krokem př tvorbě vlastní funkce pro výpočet logartmu je určení defnčního oboru hodnot proměnné a také základu logartmu a. Obrázek 1: Graf logartmcké funkce 1

Z obrázku 1 vyplývají následující omezení hodnot a základu a: a R \{1}, R () Dále je potřeba určt způsob, jakým se bude obecný logartmus počítat. Vzhledem k vlastnostem obecných logartmů jsem použl vzorec log log a log a ln ln a () Výsledný logartmus tedy vyjádřím jako podíl přrozeného logartmu čísla a přrozeného logartmu čísla a. Přrozený logartmus je takový logartmus, ve kterém je jako základ použto tzv. Eulerovo číslo (,7188 1884...).. Hyperbolcký tangens Hyperbolcký tangens je hyperbolcká funkce, v projektu označená zkratkou tanh. Defnčním oborem funkce tanh jsou všechna reálná čísla, oborem hodnot je nterval (-1, 1). Hyperbolcký tangens lze defnovat vztahem. 4 Vážený artmetcký průměr Obrázek : Graf funkce hyperbolcký tangens snh tanh (4) cosh Vážený artmetcký průměr se od artmetckého průměru odlšuje tím, že každá hodnota statstckého souboru má přřazenu odpovídající váhu. Výsledný vážený artmetcký průměr lze pak spočítat následovně: 1w1 w w w 1 w... nw w... w n n (5)

kde je hodnota ze statstckého souboru a w je odpovídající váha této hodnoty. Pokud mají všechny váhy stejnou hodnotu, lze výsledný vážený průměr považovat za artmetcký průměr.. 5 Vážený kvadratcký průměr Pro vážený kvadratcký průměr platí stejná pravdla jako pro vážený artmetcký průměr (vz.. 4), vzorec pro výpočet je následující: 1 w1 w w w 1 w... w... w n n w n (6) Návrh řešení problému. 1 Obecný logartmus Vzhledem k využtí přrozeného logartmu př výpočtu obecného logartmu (vz. vzorec ) bylo nutné sestavt vzorec pro výpočet přrozeného logartmu. Vzhledem k zadání, ve kterém bylo zdůrazněno použtí teračních výpočtů, jsem se rozhodl použít Taylorovu řadu pro přrozený logartmus: 5 ln 1 ( 1) ( 1)... 1 ( 1) 5( 1) 5 Dle matematcké defnce lze v tomto vzorc použít hodnoty >, v rámc optmalzace jsem se však rozhodl počítat pouze s hodnotam v ntervalu <.1, >, kde řada konverguje nejrychlej. Nepoužl jsem nterval (, >, neboť pro nízké hodnoty (např..1) nebyl výpočet zcela přesný. Aby bylo možno tuto řadu použít pro všechna, je nutné hodnoty, které do ntervalu nenáleží, do ntervalu převést. K tomuto účelu slouží vzorec (7) ln ln r m ln e (8) kde je původní hodnota, která je dělena Eulerovým číslem (e), dokud výsledný podíl r nenáleží do ntervalu <.1, >. M je pak počet dělení. Vzhledem k defnc ln e 1 (9) pak lze vzorec 8 zjednodušt takto: ln ln r Tento vztah lze použít pouze pro hodnoty >, pro < <.1 je operace dělení nahrazena násobením a ve vztahu je nutno změnt znaménko před m na -. m (1)

. 1. 1 Rekurentní vztah Nekonečnou řadu ze vzorce 7 je potřeba převést na rekurentní vztah: Y Y ( 1) ( 1) ( k ) (11) Y 1 1 ( 1), ( 1), k 1 (1). Hyperbolcký tangens Pro výpočet této funkce (vzorec 4) jsou potřeba dvě Taylorovy řady: snh! 5 5!... (1) cosh 1! 4 4!... (14) pro které jsem sestavl následující rekurentní vztahy: snh : Y Y Y,, ( k ( k 1)) 1, k 1 k k (15) cosh : Y Y Y 1, 1, ( k ( k 1)) 1, k k k (16) 4

. Vážený artmetcký a kvadratcký průměr Pro výpočet statstckých funkcí je nezbytné průběžně ukládat hodnoty součtů ve a čtatel vzorce 5, resp. 6. Aktuální průměr se pak vypočítá vztahem w w, (17) pro vážený artmetcký průměr, jeho kvadratckému ekvvalentu náleží obdobný vzorec w w, (18). 4 Počet platných číslc Výše uvedené terační vztahy tvoří nekonečně dlouhou řadu, kde se k celkovému součtu přčítají jednotlvé členy, které se postupně zmenšují. Aby bylo možné tyto vztahy použít, je nutné stanovt určtou hodnotu posledního členu, který bude ve výpočtu použt. K určení této hodnoty jsem použl parametr sgdg a zároveň tak určuj také přesnost výsledku. Výpočetní cyklus před každým opakováním testuje, zda je jž dosaženo požadované přesnost a pokud ano, výpočet ukončí. Podmínka na začátku cyklu vypadá takto: Y Y 1 ε.1 sgdg ε (19) 4 Specfkace testů Př testování jsem se zaměřl především na různé varanty chybných vstupních hodnot č parametrů. Test 1: Neplatná hodnota parametru sgdg (počet platných číslc) Program vypíše chybové hlášení na stderr a ukončí se. -5 a blabla 5

Test : Parametr a (základ logartmu) nevyhovuje matematcké defnc Program vypíše chybové hlášení na stderr a ukončí se. 1-1 8 Test : Neplatný znak na standardním vstupu Program vypíše na standardní výstup hodnotu výsledku NAN, vypíše chybové hlášení na stderr a ukončí se. abc a!@ Test 4: Hodnoty logartmu pro a > 1, < a < 1 správný výsledek. 4. a: --loga 1 5 4.6765587e-1.4 7.674477e-1 15 1.68661945e 4. b: --loga 1.5 6 -.5849657e 1. -.8794485e-1 1-6.648561898e Test 5: Hodnoty tanh pro R -6.8-9.999895855e-1 4.68 9.99999e-1 4 1.e správný výsledek. Test 6: Posloupnost čísel a jejch odpovídající váhy u váženého artmetckého průměru posloupnost průběžných výsledků. standardní vstup: 1 5 8 4 6 4 standardní výstup: 1.e 4.1111111111e 4.58e 4.5e 6

Test 7: Posloupnost čísel a jejch odpovídající váhy u váženého kvadratckého průměru posloupnost průběžných výsledků. standardní vstup: 1 5 8 4 6 4 standardní výstup: 1.e 5.85164871e 5.545685e 5.5191986e Test 8: Specální případy, konstanty ± INFINITY a NAN správný výsledek. 8. a: --loga 1 5 nf nf -nf nan nan nan 8. b: --loga 1. nf -nf -nf nan nan nan 8. c: Specální hodnoty základu logartmu --loga 1 nf --loga 1 nf chybný vstup --loga 1 nan nan 8. d: --tanh 1 nf 1.e -nf -1.e nan nan 5 Pops řešení Tato kaptola popsuje vlastní realzac teoretckých podkladů uvedených v kaptolách a. 5. 1 Ovládání programu Celá aplkace je ovládána prostřednctvím příkazového řádku (konzole), pro zobrazení nápovědy je nutno zadat parametr h. Následuje seznam dalších možných parametrů: --loga sgdg a (obecný logartmus o základu a s přesností na sgdg čísel) --tanh sgdg (hyperbolcký tangens s přesností na sgdg čísel) --wam (vážený artmetcký průměr) 7

--wqm (vážený kvadratcký průměr) Program očekává na standardním vstupu posloupnost vstupních hodnot, jejchž zpracované výsledky jsou vypsovány na standardní výstup, vstup výstup lze směrovat z a do souboru, např: --loga 1 15 < "vstup.tt" > "vystup.tt" 5. Datové typy Vzhledem k zadání úlohy všechny funkce kromě man vracejí hodnotu typu double. Stejně tak je většna proměnných typu double. Několk proměnných typu unsgned nt je použto př zpracovávání parametrů z příkazové řádky, případně př prác s teračním výpočty. V programu jsem vytvořl strukturu s názvem stat_hodnoty, která slouží k uchování průběžných součtů ve statstckých funkcích. Tato struktura obsahuje dvě položky typu double. Druhou použtou strukturou je struktura parametry, kterou tvoří dvě položky typu double, dvě položky typu unsgned nt a jedna položka ukazatel na datový typ char. 5. Vlastní realzace Funkce man se dělí na dvě část. V první část jsou ve funkc nact_parametry zpracovány parametry příkazové řádky, pokud některý z nch nevyhovuje požadované formě č rozsahu (vz. kaptola 4), program vypíše chybové hlášení na stderr a ukončí se. Druhou část funkce tvoří jeden cyklus, který zajšťuje načítání hodnot ze standardního vstupu a jejch předání do odpovídající funkce, která je dále zpracuje. Všechny výpočetní funkce vracejí hodnotu výsledku, který je pak na konc cyklu vypsán na standardní výstup. Funkce muj_loga a muj_tanh zpracovávají pouze jednu hodnotu, pro funkce wam a wqm je nutné ještě načíst druhou hodnotu (váhu). Uvntř těchto funkcí probíhá kromě samotného výpočtu také ověření parametrů funkce (např. u funkce muj_loga jsou to parametry cslo, eps, a), přesněj kontrola rozsahu a defnčního oboru. V případě, že užvatel zadá na standardním vstupu nepovolený znak nebo je některý z parametrů příkazové řádky chybný, funkce vyps_chybu vypíše odpovídající chybové hlášení a ukončí program. 6 Závěr Program počítá operace hyperbolcký tangens a obecný logartmus a statstcké funkce vážený artmetcký průměr a vážený kvadratcký průměr. Veškeré výsledky mých funkcí jsem porovnával s výpočty knhovních funkcí, oba výsledky byly na vzhledem k požadované přesnost stejné. Př analýze zadání bylo nutné pochopt prncp jednotlvých matematckých operací a stanovt jejch defnční obory a obory hodnot. Dalším důležtým krokem bylo zvolt nejlépe konvergující Taylorovu řadu a případně j omezt na nějaký nterval, ve kterém konverguje nejrychlej. Výsledná aplkace byla testována v operačních systémech MS Wndows a GNU / Lnu, v obou případech fungovala bez problémů a vypsovala odpovídající hodnoty. 8

POUŽITÉ ZDROJE [1] BARTSCH, H.-J.: Matematcké vzorce. Praha: Mladá fronta, třetí vydání, 1996, 81 s., ISBN 8-4-67-7. Grafy funkcí byly vytvořeny v programu Mcrosoft Math. A Metrky kódu Počet souborů: 1 Počet funkcí: 1 (včetně funkce man) Počet řádků zdrojového kódu: 5 Velkost statckých dat: 68B Velkost kódu programu: 548B Velkost spusttelného souboru: 1679B (systém Lnu, 64btová archtektura, překlad bez ladících nformací) 9