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 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.

    Ladislav Hagara | Komentářů: 0
    3.5. 13:11 | Nová verze

    Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    2.5. 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 20
    2.5. 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 2
    2.5. 19:33 | Nová verze

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    2.5. 11:22 | Bezpečnostní upozornění

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

    Ladislav Hagara | Komentářů: 3
    2.5. 11:00 | Nová verze

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 4
    1.5. 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 23
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (57%)
     (10%)
     (18%)
     (14%)
    Celkem 77 hlasů
     Komentářů: 8, poslední včera 08:25
    Rozcestník

    Octave - 1 (je to kalkulačka)

    16. 1. 2006 | Jiří Poláček | Programování | 24637×

    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 Windows. 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.

    Poznámka: Článek původně vyšel v blogu naopak.

    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 „>>“ (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). Jistou představu o popisovaném programu zajisté vyvolá následující obrázek:

    jak vypada octave

    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ávorek (pouze kulaté závorky; není možné zde používat závorky hranaté [] a složené {}, ty Octave používá pro jiné účely). 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ší než 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ých (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), z nichž některé plní úlohu konstant, například těch matematických, jako jsou Ludolfovo číslo π, Eulerovo číslo e (Matlab tuto konstantu ve svém repertoáru nemá) 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:

    • sin, cos, tan - goniometrické funkce sinus, kosinus a tangens
    • sinh, cosh, tanh - hyperbolický sinus, kosinus a tangens
    • asin, acos, atan - cyklometrické funkce sinus, kosinus a tangens
    • asinh, acosh, atanh - cyklometrické hyperbolické funkce sinus, kosinus a tangens
    • round, fix - zaokrouhlení k nejbližšímu celému číslu, respektive k nule
    • ceil, floor - vrací nejbližší vyšší, respektive nižší celé číslo
    • exp, log, log10 - počítá exponenciál, přirozený a desítkový logaritmus
    • gcd, lcm - největší společný dělitel a nejmenší společný násobek
    • mod, rem - vrací modulo, respektive zbytek po dělení (u záporných čísel se výsledek liší)
    • abs - absolutní hodnota
    • real, imag - vrací reálnou, respektive imaginární část komplexního čísla
    • sqrt - druhá odmocnina
    • sign - vrací -1 pro záporná čísla, 0 pro nulu a +1 pro kladná čísla

    Přehled všech dostupných funkcí lze nalézt v nápovědě programu.

    Nejčtenější články posledního měsíce

    Jaderné noviny – přehled za březen 2024
    Týden na ITBiz: Efektivní podnikání se bez edge computingu neobejde
    Týden na ScienceMag.cz: V kvantovém materiálu objevili částici podobnou gravitonu

    Nejkomentovanější články posledního měsíce

    Týden na ScienceMag.cz: Upřesnili limity pro klidovou hmotnost neutrin
    Týden na ScienceMag.cz: Kosmologové se opět zkouší vypořádat se s problémem Hubbleovy konstanty
      všechny statistiky »

    Seriál Octave (dílů: 16)

    Octave - 1 (je to kalkulačka) (první díl)
    »—> Octave - 2 (počítání s maticemi)
    Octave - 16 (a co dál?) (poslední díl)

    Související články

    Octave - 2 (počítání s maticemi)
    Octave - 3 (přístup k jednotlivým položkám matice)
    Octave - 4 (je to pravda?)
    Octave - 5 (práce s řetězci)
    Octave - 6 (práce se soubory)
    Octave - 7 (vlastní skripty a funkce)
    Octave - 8 (větvení programu)
    Octave - 9 (cykly)
    Octave - 10 (zbylé řídicí struktury)
    Octave - 11 (kreslíme grafy)
    Octave - 12 (měřítko os a speciální grafy)
    Octave - 13 (dokončení grafiky)
    Octave - 14 (finance a statistika)
    Octave - 15 (špetka matematiky)
    Octave - 16 (a co dál?)
    Vektorový elegán Ipe
    Recenze: Kniha kódů a šifer
    Awk & sed: Příručka pro dávkové zpracování textu
    SETI@home
    Jak se píše procesor
    GnuCash - domácí účetnictví na úrovni
    Použití gnuplot pro tvorbu grafů v PHP
    Hra s písmenky - wxMaxima

    Odkazy a zdroje

    Octave
    Matlab

    Další články z této rubriky

    LLVM a Clang – více než dobrá náhrada za GCC
    Ze 4 s na 0,9 s – programovací jazyk Vala v praxi
    Reverzujeme ovladače pro USB HID zařízení
    Linux: systémové volání splice()
    Programování v jazyce Vala - základní prvky jazyka
           

    Hodnocení: 96 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    16.1.2006 00:23 coccyx
    Rozbalit Rozbalit vše octave a premenne
    octave vs. scilab :o) mne na octave vadilo ze nepodporoval vypocty so symbolmi(premennymi), ako je to teraz ... ?
    16.1.2006 00:42 Jindřich 'GoldenShit' Plešinger | skóre: 16 | blog: Nevěřící | Dolní Bousov
    Rozbalit Rozbalit vše Re: octave a premenne
    Netuším zdali ti dostatečně dobře rozumím, ale octave je pouze numerická kalkulačka. Tak jako calc, bc, a jim podobní. Pro symbolické výpočty je vhodnějčí použít program Maxima a jeho grafický udělátor wxMaxima.
    LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana
    16.1.2006 01:00 coccyx
    Rozbalit Rozbalit vše Re: octave a premenne
    hej pochopil si to presne tak ako som to myslel :o) maxima je skvela vec ale ma syntax podobnu Mathematic-e. Ale syntaxou prikazov k matlabu je najblizsie octave no ale ta podpora symbolickych vypoctov niekedy dost chyba. Scilab je tiez klon matlabu, ale prikazy nie su moc matlab kompatibilne ale zase na druhu stranu ma nastroj podobny 'simulinku'. No asi bude najlepsie ked budu nainstalovane oba spolu a budu zit v symbioze ... :o)
    16.1.2006 01:04 Jindřich 'GoldenShit' Plešinger | skóre: 16 | blog: Nevěřící | Dolní Bousov
    Rozbalit Rozbalit vše Re: octave a premenne
    Nebo používat to, co se bude vyvíjet (kdopak to ví?) a na onen nástroj si zvykat.
    LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana
    16.1.2006 00:49 Jindřich 'GoldenShit' Plešinger | skóre: 16 | blog: Nevěřící | Dolní Bousov
    Rozbalit Rozbalit vše Re: octave a premenne
    Octave nemá GUI, scilab ano. Octave GUI (GTK+) asi nikdy mít nebude, nějaké solidní, multiplatformní, stále vyvíjené a podporované, s tlačítky funkcí, možností znovu přepočítat napsaný program, exportem napsaného skriptu, ... . Ještě je tam nějakej rozdíl v licemcích, ale normální člověk to snad neřeší. Je to zdarma a basta.
    LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana
    Jiří Poláček avatar 16.1.2006 08:34 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
    Rozbalit Rozbalit vše Re: octave a premenne
    Octave (alespoň pokud vím) nepodporuje symbolické výpočty. V tomto směru bych odkázal na yacas.
    Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
    16.1.2006 16:06 Zdeněk Hurák | skóre: 7
    Rozbalit Rozbalit vše Re: octave a premenne
    Octave je mozno zkompilovat s knihovnou GiNaC (coby symbolicky toolbox v Octave-Forge), a pak zakladni symbolicke operace jsou mozne.
    16.1.2006 11:25 orin
    Rozbalit Rozbalit vše MuPAD
    Ja som si na symbolicke vypocty oblubil MuPAD. Je to tusim shareware - kedysi bol sucastou SuSE, ale dnes je to tvrda komercia, s free trialom... (Aj ten sa da celkom pouzivat.)
    16.1.2006 15:06 D.
    Rozbalit Rozbalit vše Eulerovo cislo Matlab nezna?
    Hehe, to me pobavilo, jak by asi pocital logaritmy? Co zkusit exp(1)? ;)

    D.
    16.1.2006 15:16 D.
    Rozbalit Rozbalit vše Re: Eulerovo cislo Matlab nezna?
    Aj, zapomnel jsem jadro prispevku. Skleroza pokracuje.

    Takze: Octave se snazi priblizit Matlabu jak to jde. Kdo zna Matlab, ma prechod na Octave celkem bez problemu. Spoluprace s GNUplotem je taky dobre provedena a grafy se tvori vpodstate stejne jako v Matlabu (s par malymi rozdily - labely a title je nutne nadefinovat pred "plot"). Dokonce se na webu nachazeji toolboxy (opet analogie k Matlabu), ktere funkcnost Octave znacne rozsiruji. Takze pokud ma nekdo na grantu malo penez a staci mu jednoduche zpracovani experimentu, pak lze Octave jen doporucit.

    D.
    18.1.2006 09:54 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    Je nějaká možnost jak do Octave zadat matici? Hledal jsem na internetu, ale nic se mi nepodařilo najít.
    18.1.2006 10:15 me
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    Zkuste se podivat poradne. Octave je o vypoctech s maticemi, snad o tom bude dalsi dil.
    >> a=[1 2]; b=[3;4]; c=[5 6; 7 8];
    >> a, b, c
    
    Jiří Poláček avatar 19.1.2006 10:40 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    Ano, další díl, který už je připraven, je o počítání s maticemi.
    Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
    18.1.2006 15:54 5
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    rovnako ako v matlabe
    18.1.2006 15:56 5
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    rovnako ako v matlabe
    18.1.2006 16:01 5
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    mne sa na octave najviac paci skriptovanie, netreba mi spustanie nejakeho grafickeho workspace, len konkretne vypocty, pre mna uplne idealne
    18.1.2006 17:54 Jindřich 'GoldenShit' Plešinger | skóre: 16 | blog: Nevěřící | Dolní Bousov
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    Pouze ke skriptování je neexistence GUI u octave výhodou. Ale nemožnost tvožit v nativním IDE, krokovat, odlaďovat skript, ... za výhodu nepovažuju. Třeba maxima funguje jak v promptu, tak i existuje možnost použít několik grafických prostředí.
    LINUKS = Lidová Nacionálně Ultralevicová Komunistická Strana
    21.1.2006 11:19 GeBu | skóre: 27 | blog: zápisky
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    Nainstaloval jsem si Octave do Windows (cygwin). Ale nevím jak rozběhat grafický výstup grafů (plot). Nemáte někdo radu?
    26.6.2023 13:11 Adilkhatri
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    검증된 파워볼사이트 를 찾으신다면 eos파워볼사이트 가 있는 파워볼사이트추천 에서 파워볼 을 즐기시길 바랍니다. 5년 이상 운영된 메이저업체 이며 지금까지 많은분들께 사랑받은 안전한파워볼사이트 입니다. 안전한파워볼사이트
    29.6.2023 09:55 Adilkhatri
    Rozbalit Rozbalit vše Re: Octave - 1 (je to kalkulačka)
    This is also a fair post which I really savored the experience of scrutinizing. It isn't every day that I have the probability to see something like this.. 먹튀검증커뮤니티

    Založit nové vláknoNahoru

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