abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 1
dnes 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
dnes 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 2
dnes 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
včera 23:55 | Nová verze

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 1
včera 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
včera 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

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

Byla vydána verze 2.11.0 QEMU (Wikipedie). Přispělo 165 vývojářů. Provedeno bylo více než 2 000 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
včera 17:44 | Komunita

Canonical oznámil dostupnost kryptografických balíčků s certifikací FIPS 140-2 úrovně 1 pro Ubuntu 16.04 LTS pro předplatitele podpory Ubuntu Advantage Advanced. Certifikace FIPS (Federal Information Processing Standards) jsou vyžadovány (nejenom) vládními institucemi USA.

Ladislav Hagara | Komentářů: 3
včera 16:11 | Zajímavý software

Společnost Avast uvolnila zdrojové kódy svého dekompilátoru RetDec (Retargetable Decompiler) založeného na LLVM. Vyzkoušet lze RetDec jako webovou službu nebo plugin pro interaktivní disassembler IDA. Zdrojové kódy RetDec jsou k dispozici na GitHubu pod open source licencí MIT.

Ladislav Hagara | Komentářů: 3
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 993 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Octave - 1 (je to kalkulačka)

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

    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

    HW novinky: podzimní přehled #1
    Týden na ScienceMag.cz: Nanotechnologie pomocí laseru
    Jaderné noviny – 9. 11. 2017: Novinky v testování jádra sebou samým

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

    HW novinky: podzimní přehled #1
    Týden na ScienceMag.cz: Kde se berou pozitrony
    Týden na ITBiz.cz – Na ČVUT detekují Parkinsonovu chorobu pomocí analýzy řeči
      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?

    Založit nové vláknoNahoru

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