abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 4
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 44
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 875 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Octave (1) – je to kalkulačka

    2.1.2006 15:09 | Přečteno: 2335× | Octave | poslední úprava: 2.1.2006 21:33

    Octave je volně šiřitelný klon Matlabu běžně dostupný jako balíček i pro vaši oblíbenou distribuci. K dispozici je i verze pro Widnows. Následující text představuje první seznámení s tímto systémem pro práci s maticemi, který je zároveň programovacím jazykem podobným Pascalu.

    Základním komunikačním prostředkem v Octave je příkazová řádka, do které uživatel zapisuje své požadavky. V následujícím textu zejména v ukázkách, bude příkazový řádek signalizován znaky „>>“1. Jistou představu o popisovém programu zajisté vyvolá následující obrázek:

    Nápověda v Octave

    Vestavěnou nápovědu v Octave lze zobrazit pomocí příkazu help:

    >> help
    
    Na základě tohoto požadavku může program vypsat například následující text:
    help is available for the topics listed below.
    
    Additional help for built-in functions, operators, and variables
    is available in the on-line version of the manual.  Use the command
    `help -i topic' to search the manual index.
    
    Help and information about Octave is also available on the WWW
    at http://www.octave.org and via the help-octave@bevo.che.wisc.edu
    mailing list.
    

    Podrobnější nápovědu k vestavěným funkcím a rezervovaným slovům je možné vypsat příkazem help s odpovídajícím argumentem:

    >> help fix
    
    Jak sděluje úvodní text zabudované nápovědy, informace o Octave a další nápovědu je možné také získat na webových stránkách programu, konkrétně na adrese www.octave.org/doc.

    Octave jako kalkulačka

    Na té nejjednodušší úrovni lze Octave využít jako kalkulačku. Na příkazový řádek stačí zadat výraz, který se má spočítat, po odeslání Octave vypíše výsledek:

    >> 1+2*3
    ans = 7
    >> 4563*1.22
    ans = 5566.9
    >> (5-3)^2
    ans = 4
    >> 5**3
    ans = 125
    
    Aby bylo možné výraz vyhodnotit, musí samozřejmě být správně zkonstruován. Při vyhodnocování má podle běžných pravidel aritmetiky nejvyšší prioritu umocňování, pro které se používá znak „^“ (stříška) nebo dva těsně vedle sebe zapsané znaky hvězdička „**“; následuje násobení „*“ a dělení „/“; nejmenší prioritu mají sčítaní „+“ a odčítání „-“. Následuje‑li po sobě více operandů se stejnou prioritou, vyhodnocuje se také obvyklým způsobem, tj. zleva doprava. Prioritu operandů lze upravit pomocí kulatých závorek2. Pro druhou odmocninu existuje v Octave funkce sqrt, vhodnější však bývá použití umocňování na přepočítaný zlomek, tj. sqrt(9) vrátí tentýž výsledek jako 9^(1/2).

    Zápis a zobrazování čísel v Octave

    Při práci s reálnými čísly se jako oddělovač celé a desetinné části používá podle amerických zvyklostí tečka, nikoliv čárka. Zapisujeme‑li reálné číslo v absolutní hodnotě menší jak 1, například 0,589, lze nulu z celé části vynechat:

    >> -.25+.5
    ans = 0.25000
    

    Pro zápis typicky hodně velkých (respektive hodně malých) čísel se používá tzv. exponenciální tvar, tj. zápis s mocninou čísla deset. Například číslo 1,458 · 1045 se v Octave zapíše (a vypíše) jako 1.458e45, oddělovačem mezi základem čísla a exponentem tedy je písmeno e.
    Vězme také, že Octave umí pracovat s komplexními čísly:

    >> (5+2i) * (1-j)
    ans = 7 - 3i
    
    Písmena i a j v zápise mají stejnou hodnotu – znamenají imaginární jednotku a formálně v Octave figurují jako vestavěné konstanty, o kterých bude řeč dále.

    Počet desetinných míst, které bude Octave zobrazovat u reálných čísel, se dá nastavit s pomocí příkazu format. Výchozí nastavení, které odpovídá parametru short, zobrazuje výsledek s pěti významnými ciframi, parametr long si vynutí 15 významných cifer a parametr bank zaokrouhluje na dvě desetinná místa:

    >> r=sqrt(2);
    >> format short
    >> r
    r = 1.4142
    >> format long
    >> r
    r = 1.41421356237310
    >> format bank
    >> r
    r = 1.41
    

    Existují ještě další parametry, které umožňují výpis čísel v binární či hexadecimální podobě, vynucení si vědeckého zápisu s mantisou a další speciality – viz help format.

    Ukládání výsledku do proměnných

    Výsledek výpočtu si lze nejenom nechat zobrazit, ale také uložit do proměnné pro jeho pozdější využití. Proměnné v Octave vytváříme za chodu podle jejich potřeby, není nutné předem definovat jejich typ a velikost:

    >> p=13
    p = 13
    >> P=12-6
    P = 6
    
    Předchozími dvěma příkazy byly vytvořeny dvě proměnné pojmenované p a P. Vzhledem k tomu, že Octave rozlišuje malá a velká písmena v názvech proměnných, jedná se o dvě různé proměnné. Do proměnné p bylo přímo uloženo číslo 13, do proměnné P pak výsledek výrazu 12-6. Stojí za povšimnutí, že výsledek výpočtu nyní nezačíná „ans =“, ale názvem proměnné, do které jsme výsledek uložili. Ono ans, které je možno chápat jako zkratku z anglického answer – odpověď, v Octave funguje jako název implicitní proměnné, do které se uloží každý poslední výsledek, u kterého nebylo specifikováno, do jaké proměnné by se měl uložit. Necháme‑li si nyní vypsat obsah této proměnné, měli bychom dostat číslo 0,25 z příkladu z předchozí sekce:
    >> ans
    ans = 0.25000
    
    Z příkladu je vidět, že aktuální obsah proměnné lze zjistit po odeslání jejího názvu. S vytvořenými proměnnými samozřejmě lze dále pracovat ve výrazech:
    >> P+p
    ans = 19
    >> ans^2
    ans = 361
    

    Seznam doposud uživatelem vytvořených proměnných zjistíme příkazem who:

    >> who
    *** local user variables:
    P  p
    
    Vytvořenou proměnnou samozřejmě lze také zrušit, provádí se to příkazem clear následovaným seznamem proměnných, které se mají zrušit:
    >> clear p P
    
    Spuštění příkazu clear bez parametrů má za následek zrušení všech proměnných.

    Konstanty

    Kromě proměnné ans obsahuje Octave po spuštění ještě celou řadu dalších speciálních proměnných3, z nichž některé plní úlohu konstant, například těch matematických, jako jsou Ludolfovo číslo π, Eulerovo číslo e4 apod:

    >> pi
    pi = 3.1416
    >> e
    e = 2.7183
    >> i
    i = 0 + 1i
    >> j
    j = 0 + 1i
    >> realmin
    realmin =  2.2251e-308
    >> realmax
    realmax =  1.7977e+308
    >> realmax + realmax
    ans = Inf
    >> Inf/Inf
    ans = NaN
    
    Konstanty i a j představují již zmiňovanou imaginární jednotku při práci s komplexními čísly; realmin ukazuje přesnost, s jakou je Octave schopno počítat; realmax nese hodnotu největšího čísla, s kterým je Octave schopno pracovat; Inf je vyjádřením nekonečna a konečně zkratka NaN znamená Not a Number – není číslo. Z uvedených příkladů je také vidět, kdy je možné poslední dvě jmenované konstanty získat jako výsledek výpočtu.

    Je nanejvýš vhodné pro vlastní proměnné nepoužívat názvy těchto konstant, obzvláště v případech, že bychom jejich hodnoty potřebovali k výpočtu. Není totiž problém vytvořit si stejně pojmenovanou uživatelskou proměnnou:

    >> pi=3+5
    pi = 8
    
    K původnímu obsahu konstanty se lze vrátit zrušením stejně pojmenované proměnné.

    Základní matematické funkce

    Stejně jako vědecké kalkulačky umí také Octave vracet funkční hodnoty běžných matematických funkcí, jako například:

    >> sin(pi/2)
    ans = 1
    
    Funkce se volají svým jménem, argument se uvádí za jménem v kulatých závorkách. Pokud je třeba počítat s mocninu dané funkce, v matematice zapsáno jako sin2 x, v Octave je toto třeba zapsat takto:
    >> (sin(x))^2
    
    Uveďme přehled základních funkcí, kterými Octave disponuje: Přehled všech dostupných funkcí lze nalézt v nápovědě programu.

    Poznámky pod čarou

    1) Tzv. prompt příkazového řádku lze nejrůzněji měnit nastavením obsahu proměnné PS1. Uvedený prompt získáme příkazem PS1=">> ", více možností nastavení je popsáno v nápovědě programu.
    2) Pouze kulaté závorky. Není možné zde používat závorky hranaté [ ] a složené {}, ty Octave používá pro jiné účely.
    3) Jejich seznam je uveden v nápovědě programu, mnohé z nich se týkají programového prostředí a mají vliv na správný běh Octave.
    4) Matlab tuto konstantu ve svém repertoáru nemá.
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    2.1.2006 15:41 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Moc pěkné, ale tohle je už spíše na článek, než blogpost. A pokud to bude seriál, tak tím lépe.
    When your hammer is C++, everything begins to look like a thumb.
    2.1.2006 15:43 Veritas | skóre: 13 | blog: veritas
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    To by klidně mohlo po lehkém přepracování vyjít jako článek...
    Nehledej hry v Linuxu. Linux je hra!
    Josef Kufner avatar 2.1.2006 17:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Souhlasím. Takový seriál článků by se mi tu celkem i hodil :)
    Hello world ! Segmentation fault (core dumped)
    2.1.2006 15:44 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Výborné, ač sám nepoužívám Octave, ale scilab.
    2.1.2006 16:29 jam001 | skóre: 19
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Octave som kedysi skusal, rozmyslali sme to nasadit na cluster namiesto matlabu (hlavne koli licenciam). Nazor som zmenil potom ako som porovnaval rychlost s matlabam. Ten isty kod trval v octave niekolkonasobne dlhsie : (. Inak je to urcite zaujimavy program.
    2.1.2006 16:31 jam001 | skóre: 19
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    4) Matlab tuto konstantu ve svém repertoáru nemá

    staci napisat:
    exp(1)
    wamba avatar 2.1.2006 18:19 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Dobrý d.

    Nefunguje mi odkaz.

    Nemá spíše být http://www.octave.org/doc/index.html.
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    Jiří Poláček avatar 2.1.2006 21:36 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Opravdu, původní odkaz již nefunguje. Ale byly časy, kdy fungoval. Děkuji za upozornění, opraveno.
    Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
    2.1.2006 20:21 Martin Baleja | skóre: 13 | blog: Segmentation_Fault
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Ještě bych dodal, že kompilace Octave trvá skoro hodinu a půl (Duron 700MHz) :-)
    Why are hemorrhoids called "hemorrhoids" instead of "assteroids"?
    3.1.2006 09:28 anicka | blog: ze_zivota
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Ještě bych upřesnila, že je třeba si velmi pečlivě vybrat verzi gcc (určitě ne 4.x), pokud u toho nechcete strávit mládí opravováním chyb. Já jsem si s tím hrála asi 14 dní...
    ^D
    3.1.2006 21:00 janosh | skóre: 8 | blog: janosh_blog | Třebíč
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    s kompilací jsem neměl problémy :-) kompiloval sem to ale nějakým gcc asi 3.3.něco. A co se týče rychlosti trvalo to tak půl hoďky na pentiu M 1.4 GHz. Ten fortran byl přeloženej hned ale to c++ to byla doba. Spíš mě zarazilo kolik octave zabírá po přeložení. Tuším že snad 300 MB.
    Linux is like teepee, no windows, no gates, apache inside!
    10.1.2006 20:56 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    No vidíš, Matlab zabírá na Linux něco kolem 1,2GB.
    10.11.2009 18:13 Hela
    Rozbalit Rozbalit vše Re: Octave (1) – je to kalkulačka
    Chtěla bych se zeptat. Mam Vistu a Octave(3.0.0) se mi zobrazuje bez horní lišty s nabídkou jako úpravy, relace apod. Mám docela problém s tím, jak uložit program.:) Poradíte mi?

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.