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í
×
včera 02:22 | Zajímavý projekt

Na Humble Bundle lze v rámci akce Humble Book Bundle: Linux Geek by No Starch Press zakoupit elektronické knihy věnované operačnímu systému Linux a open source softwaru od nakladatelství No Starch Press a navíc podpořit charitu. Za 1 dolar a více lze zakoupit 6 elektronických knih, za 8 dolarů a více dalších 6 elektronických knih, za 15 dolarů a více dalších 5 elektronických knih a za 30 dolarů a více další elektronickou knihu navíc.

Ladislav Hagara | Komentářů: 0
včera 01:33 | Komunita

Patrick Volkerding oznámil před pětadvaceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

Ladislav Hagara | Komentářů: 15
16.7. 17:33 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na jednodeskový počítač Renegade Elite. Měl by být 4x výkonnější než Raspberry Pi 3 Model B+. Vlastnit jej lze již v září. Aktuální cena je 99 dolarů.

Ladislav Hagara | Komentářů: 14
16.7. 12:44 | Komunita

Od 7. do 10. června proběhla v Berlíně Linux Audio Conference 2018. Na programu byla řada zajímavých přednášek, seminářů a vystoupení. Videozáznamy lze zhlédnout na media.ccc.de.

Ladislav Hagara | Komentářů: 0
16.7. 09:44 | Pozvánky

Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.

xkucf03 | Komentářů: 0
14.7. 22:44 | Nová verze

Bylo oznámeno vydání KDE Frameworks 5.48.0, tj. nové verze aktuálně 72 knihoven rozšířujících multiplatformní framework Qt. Řešena je mimo jiné bezpečnostní chyba CVE-2018-10361 v KTextEditoru zneužitelná k lokální eskalaci práv. Knihovny KDE Frameworks jsou dnes využívány nejenom KDE Plasmou a KDE Aplikacemi.

Ladislav Hagara | Komentářů: 8
14.7. 20:11 | Nová verze

Byl vydán Debian 9.5, tj. pátá opravná verze Debianu 9 s kódovým názvem Stretch. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Předchozí instalační média Debianu 9 Stretch lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 15
13.7. 23:55 | Komunita

V Národní technické knihovně (NTK) je 150 nových počítačů s operačním systémem Linux, konkrétně s linuxovou distribucí Fedora. Do konce prázdnin si na nich lze zahrát počítačovou hru Factorio (Wikipedie). V pondělí 23. 7. proběhne LAN party s vývojáři této hry.

Ladislav Hagara | Komentářů: 0
13.7. 17:33 | Zajímavý software

Fanatical (Wikipedie) má ve slevě řadu počítačových her běžících také na Linuxu. Balíček her Fanatical Strategy Bundle lze koupit za 1,99 eur.

Ladislav Hagara | Komentářů: 1
13.7. 11:44 | Zajímavý software

Byla vydána počítačová hra Warhammer 40,000: Gladius - Relics of War běžící také na Linuxu. Koupit ji lze na GOG, Humble Store i na Steamu. Videoukázka na YouTube.

Ladislav Hagara | Komentářů: 0
Jak čtete delší texty z webových stránek?
 (78%)
 (20%)
 (4%)
 (7%)
 (2%)
 (10%)
Celkem 359 hlasů
 Komentářů: 40, poslední 29.6. 10:21
    Rozcestník

    Octave - 11 (kreslíme grafy)

    5. 4. 2006 | Jiří Poláček | Programování | 13362×

    Jak Octave řeší grafický výstup, princip vykreslování čáry a kterak nastavit barvy, styly a legendu.

    Jak Octave řeší grafický výstup

    Octave ve snaze podobat se co nejvíce Matlabu obsahuje také podporu pro grafický výstup (ve smyslu kreslení matematických grafů). Samo o sobě však Octave grafy kreslit neumí - pro tento účel využívá program gnuplot (který je tudíž třeba mít v systému nainstalován). Z jistého úhlu pohledu by se dalo říci, že Octave funguje jako překladač kreslících funkcí z Matlabu do gnuplotu - jedním dechem je však nutno dodat, že se jedná o překladač velmi omezený, který zvládá jenom pár základních příkazů a nastavení. Pro plné využití všech možností gnuplotu máme v Octave k dispozici „nízkoúrovňové funkce“, díky kterým můžeme psát přímo příkazy gnuplotu nad daty z Octave. Následující texty se však budou zabývat především příkazy kompatibilními s Matlabem.

    Jak se kreslí čára

    Základní princip kreslení dvourozměrných grafů spočívá v zadání souřadnic bodů v kartézské soustavě - Octave vždy dva sousední body spojí úsečkou. Souřadnice bodů se zadávají jako dva vektory, jeden pro x-ové souřadnice a druhý pro y-ové; tyto dva (oba řádkové nebo oba sloupcové, ale hlavně stejně dlouhé) vektory pak figurují jako parametry funkce plot, která zajistí již samotné vykreslení grafu.

    Příklad - vytvořme ze čtyř bodů A[0,4], B[5,-2], C[1,-3] a D[3,8] lomenou čáru tak, že bod A bude spojen s bodem B, bod B spojen s bodem C a konečně také bod C spojen s bodem D:

    >> x=[0 5 1 3]; y=[4 -2 -3 8];
    >> plot(x,y)

    Mělo by se nám otevřít grafické okno gnuplotu vypadající podobně jako na následujícím obrázku:

    Grafický terminál gnuplotu s vykreslenou
lomenou čarou

    Vektor x postupně obsahuje x-ové souřadnice zadaných bodů, stejně tak vektor y obsahuje ve stejném pořadí y-ové souřadnice těch stejných bodů. Při vykreslování jsou pak sousední body spojeny úsečkou (tj. vykreslí se mezi nimi rovná čára). Pokud bychom chtěli zajistit, aby byl úsečkou spojen každý bod s každým, musíme to odpovídajícím způsobem zajistit v souřadnicových vektorech:

    >> A=[0 4]; B=[5 -2]; C=[1 -3]; D=[3 8]; body=[A;B;C;D;A;C;B;D];
    >> plot(body(:,1),body(:,2))

    Čtyři body, každý spojen s každým

    V grafu si také můžeme všimnout, že se automaticky nastaví měřítko grafu, vypíší hodnoty na osách a legenda grafu.

    Hned na prvních příkladech tedy vidíme, že výsledné grafy nemusí být těmi správnými grafy z hlediska matematické analýzy, i když právě ty nejspíš budeme chtít ve výsledku vidět. Efektu hladké křivky dosáhneme prostě tím, že spočítáme dostatečný počet souřadnic vykreslovaných bodů. Porovnejte sinusoidu vykreslenou z 11 a 201 bodů:

    >> x10=0:pi/5:2*pi;
    >> plot(x10,sin(x10))
    >> % versus
    >> x200=0:pi/100:2*pi;
    >> plot(x200,sin(x200))

    Sinusoida z 11 bodů

    Sinusoida z 201 bodů

    Uvědomme si u funkce sinus, že se počítá pro každý prvek vektoru x-ových souřadnic, čímž získáváme stejně dlouhý vektor y-ových souřadnic. Abychom si ušetřili čas s vymýšlením formule pro vektor lineárně rozložených x-ových souřadnic, můžeme používat funkci linspace, které zadáme dolní mez, horní mez a počet prvků výsledného vektoru:

    >> linspace(0,10,4)
    ans =
       0.00000   3.33333   6.66667  10.00000

    Více grafů, více barev

    Ve výchozím nastavení každé volání příkazu plot inicializuje výstupní zařízení, tj. smaže případný obsah z předchozích kreslících výstupů. Pokud chceme do grafu „přikreslovat“, nabízí se nám v podstatě dvě možnosti, které můžeme libovolně kombinovat. V prvé řadě můžeme podržet aktuální obsah výstupního zařízení s pomocí funkce hold. Volána s parametrem on tuto vlastnost zapíná, off značí výchozí stav mazání a konečně volání této funkce bez parametru přepíná z jednoho stavu do druhého. V jakém stavu se teď nacházíme, zjistíme funkcí ishold:

    >> plot(x,sin(x))
    >> ishold
    ans = 0
    >> hold on
    >> plot(x,cos(x))
    >> hold off

    Sinus a kosinus v jednom grafu

    Druhou možností je zadání všech grafů do jediného příkazu plot, který může mít variabilní počet parametrů:

    >> plot(x,sin(x),x,cos(x))

    Přesněji řečeno, funkce plot může zpracovat libovolný počet dvojic x-ových a y-ových souřadnic. Navíc za každou touto dvojicí může následovat třetí volitelný řetězcový parametr, který upřesňuje barvu a styl čáry, respektive popisek k ní. Začněme ilustračním příkladem:

    >> plot(0:5,5:-1:0,'^',0:6,6:-1:0,'Lm ',0:8,8:-1:0,'g*;popisek;' , \
    0:.1:9,9:-.1:0,'.3',1:10,9:-1:0,'-@78',2 :10,9:-1:1,'c;usecka;')

    Spousta čar s různými styly a barvami

    Za pomoci čísel, významových znaků a textů mezi středníky tak můžeme u každé vykreslované čáry určit:

    • typ grafu: čárový (výchozí) - -, tečkovaný - ., schodovitý - L, nebo vynášecí - ^
    • barvu určenou buď písmenem nebo číslem: r, g, b, m, c nebo w s příslušnými čísly 1-6, tj. v uvedeném pořadí červená, zelená, modrá, purpurová, azurová a bílá. Pokusy nasvědčují tomu, že i číslům 7-9 nějaké barvy přísluší.
    • bodový graf: buď přímo uvedením symbolu, který se má v daném bodě vykreslit - *, +, o, x, nebo číselně s tím, že v takovém případě je nutno uvést dvojciferné číslo - první cifra určuje barvu a druhá cifra symbol (opět lze experimentovat s čísly 1-9). V případě, že chceme bodový graf, měli bychom uvést, zda body mají - -@ nebo nemají - @ (výchozí předpoklad) být spojeny čarou.
    • popisek: uvádí se mezi středníky, například ;popisek;, středník na konci popisku nesmí chybět. Výchozí popisek zní „line“ plus pořadové číslo.

    Obecně nezáleží na pořadí, v jakém se znaky zapíší, přesto to chce trochu experimentovat a nebýt překvapen, že kupříkladu číselná reprezentace barev může na každém výstupním zařízení znamenat něco jiného.

    Příští povídání o Octave bude s grafy pokračovat, konkrétně se zaměří na měřítko os, popisky ke grafům a speciální dvourozměrné grafy.

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

    Týden na ITBiz: Blockchain pro státní správu
    Jaderné noviny – 21. 6. 2018: Druhá polovina začleňovacího okna 4.18
    Jaderné noviny – 7. 6. 2018: Statistiky vývojového cyklu 4.17

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

    Týden na ITBiz: Blockchain pro státní správu
    Linuxové herní novinky – duben 2018
      všechny statistiky »

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

    Octave - 1 (je to kalkulačka) (první díl)
    <—« Octave - 10 (zbylé řídicí struktury)
    »—> Octave - 12 (měřítko os a speciální grafy)
    Octave - 16 (a co dál?) (poslední díl)

    Související články

    Octave - 1 (je to kalkulačka)
    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 - 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

    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í: 100 %

            š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ář

    6.4.2006 07:44 GeBu | skóre: 27 | blog: zápisky
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    Znamená něco příkaz: "% versus", který je v textu v příkladu sinusovek s různou kvalitou?
    Jiří Poláček avatar 6.4.2006 08:25 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    znak % uvozuje komentář
    Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
    6.4.2006 07:46 GeBu | skóre: 27 | blog: zápisky
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    Ve Windows verzi mi nefunguje "hold on" :(
    parse error:
    >>> hold on
    ^
    >> hold on
    parse error:
    >>> hold on
    Jiří Poláček avatar 6.4.2006 08:56 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    Vyzkoušel jsem teď tento příkaz ve windowsových verzích 2.1.36, 2.1.50 a 2.1.73 stažených z octave.sf.net a všude mi příkaz "hold on" bez problémů funguje. Vzhledem k tomu, že za příkazem hold se očekává textový parametr, zkuste hold 'on'.
    Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
    6.4.2006 09:23 GeBu | skóre: 27 | blog: zápisky
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    Ty apostrofy zabraly. Děkuji za obě odpovědi.
    12.4.2006 23:56 asym | skóre: 5 | blog: Psychopat
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    V gnuplotu mi jde v pohode mysi rotovat 3D graf. Kdyz je ale volan z octave, tak to nejde. Jak je to mozne?
    Kdo nemá rád linux, ten si ho nezaslouží.
    Jiří Poláček avatar 14.4.2006 08:40 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    V případě vzdáleného volání gnuplotu z Octave není inicializována myš. Příkaz gset mouse před vyreslením grafu tuto nepříjemnost napraví.
    Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
    22.4.2006 11:32 asym | skóre: 5 | blog: Psychopat
    Rozbalit Rozbalit vše Re: Octave - 11 (kreslíme grafy)
    nepomaha ani
    __gnuplot_set__ mouse
    Kdo nemá rád linux, ten si ho nezaslouží.

    Založit nové vláknoNahoru

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