Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Poslední špetka z repertoáru (autorem) často používaných funkcí: následující program vseznalek jich předvede několik, kterými je možno funkce v Octave vyšperkovat, přidat interaktivitu apod.:
function vseznalek clc; cas_spusteni = clock(); disp('Vítejte v programu Všeználek!'); x=input('Zadejte výraz, který chcete spočítat: '); disp('Momentíček, počítám ...'); fflush (stdout); pause(5); disp(['Výsledek je ',num2str(x)]); celkovy_cas = etime(clock(), cas_spusteni); disp(['Program běžel ',num2str(celkovy_cas),' sekund.']); endfunction
Pokusné spuštění:
>> vseznalek Vítejte v programu Všeználek! Zadejte výraz, který chcete spočítat: sin(pi/2)+sqrt(7) Momentíček, počítám ... Výsledek je 3.646 Program běžel 8.13 sekund.
Funkce clc smaže terminál; clock vrátí vektor čísel zaznamenávajících aktuální čas – funkce etime pak dokáže spočítat rozdíl mezi dvěma takovými vektory v sekundách. Funkce input vypíše zadaný text a čeká na interaktivní vstup od uživatele – ten se následně pokusí zpracovat jako běžný výraz v Octave; výsledek výrazu tedy můžeme uložit do libovolné proměnné. Funkce pause pozastaví běh programu po zadaný počet sekund; aby se nám před pauzu určitě vypsal text žádající o strpení, je pomocí funkce fflush požádáno o neodkladné vypsání dosavadního výstupu programu na standardní výstupní zařízení.
Funkce input může mít volitelný druhý parametr – písmeno 's'
, které zapříčiní, že vstup od uživatele bude chápán jako řetězec:
>> t=input('Něco zadej: ', 's') Něco zadej: 1+1 t = 1+1 >> eval(t) ans = 2
Funkce eval se pokouší provést obsah zadaného řetězce jako běžný výraz v Octave (v případě, že řetězec není platným výrazem, zahlásí syntaktickou chybu).
O Octave by se toho ještě dalo napsat hodně – dostáváme se však k již úzce specializovaným sadám funkcí vyšší matematické a fyzikální. Pokud v následujícím stručném přehledu něčí srdce u některé položky zaplesá, nechť následuje odkaz do oficiální nápovědy.
Existují odvětví matematických problémů, které ústí v používání objemných matic, jejichž prvky jsou z valné části rovny nule. Pro tyto případy je výpočetně i paměťově výhodnější reprezentovat si takové matice výčtem prvků (souřadnice + hodnota), které jsou nenulové:
>> M=[1 2 0; 0 0 -4; 1 0 0] M = 1 2 0 0 0 -4 1 0 0 >> sparse(M) ans = Compressed Column Sparse (rows=3, cols=3, nnz=4) (1 , 1) -> 1 (3 , 1) -> 1 (1 , 2) -> 2 (2 , 3) -> -4
Octave obsahuje dvě funkce pro řešení běžných i algebraických diferenciálních rovnic. Více viz ukázkový příklad.
S pomocí funkce fsolve lze řešit například takovéto matematické příklady: najděte řešení soustavy x2 + y2 − x = 0, x2 − y2 − y = 0, je-li zadán výchozí bod x0 = 0,8 a y0 = 0,4:
function y=zadani(x) y(1) = x(1)^2 + x(2)^2 - x(1); y(2) = x(1)^2 - x(2)^2 - x(2); endfunction >> fsolve ("zadani", [0.8; 0.4]) ans = 0.77184 0.41964
Jedná se o nekomutativní zobecnění komplexních čísel, viz například pojem ve Wikipedii. V Octave lze využít pár funkcí pro práci s těmito matematickými objekty, zkusme například a = (6 + 4j), b = (−1 + i + j + 7k) a násobit a·b a b·a:
>> a=[0 4 0 6]; b=[1 1 7 -1]; >> qmult(a, b) ans = 34 2 38 -10 >> qmult(b, a) ans = -22 2 46 -10
Octave obsahuje ucelenou sadu nástrojů včetně interaktivních programů, které zjednodušeně řečeno umožňují uživatelům přidávat popisy dynamických systémů ve vybrané formě. Sadou nástrojů uživatele interaktivně provede program DEMOcontrol:
>> DEMOcontrol Octave Controls System Toolbox Demo [ 1] System representation [ 2] Block diagram manipulations [ 3] Frequency response functions [ 4] State space analysis functions [ 5] System model manipulations [ 6] Root locus functions [ 7] LQG/H2/Hinfinity functions [ 8] End pick a number, any number:
Pokud na bitmapový obrázek nazíráme jako na matici hodnot barevných složek, není ani „kreslení“ v Octave nemyslitelné – pro praktické využití však tato knihovna funkcí čeká na nějaké rozumné importní funkce.
Digitální zvuk lze pojmout jako vektor vzorků snímaných v čase se stanovenou vzorkovací frekvencí a typem formátování. Octave je schopno takový vektor posílat na zařízení /dev/dsp
či /dev/audio
, respektive vektor se zvukovými daty z těchto zařízení plnit. Samozřejmě je možné zvuk také nahrát ze souboru (pokud je kódován nějakým primitivním způsobem) a naopak do souboru uložit:
>> x=record(5); % Nahrání pěti sekund z mikrofonu Please hit ENTER and speak afterwards! 5+0 vstoupivších záznamů 5+0 vystoupivších záznamů cmd = dd if=/dev/dsp of="/tmp/oct-ZKkZDd" bs=8000 count=5 >> playaudio(x); % Přehrání zvukového záznamu >> saveaudio('zvuk', x, 'raw') % Uložení do souboru zvuk.raw >> x=loadaudio('symph', 'au'); % Nahrání zvuku ze souboru >> plot(x) % Vykreslení křivky zvuku
Ucelená sbírka funkcí týkajících se především Fourierových transformací.
Matlabu znalý uživatel velice záhy u Octave zjistí, že řada funkci jemu důvěrně známých zde prostě chybí. Největší absenční známky základní instalace Octave se snaží napravit repozitář funkcí Octave-forge sídlící na adrese octave.sourceforge.net, které lze doinstalovat k již instalovanému základnímu Octave. V praxi to funguje tak, že si uživatel stáhne celý balík funkcí včetně instalačních skriptů, v průběhu instalace si volitelně zvolí, o které funkce má zájem, následně kompiluje, a pokud se vše zdaří, může si užívat větší kompatibility s Matlabem.
Konkrétně si tak uživatel může dopomoci k sadě funkcí z ekonometrie, paralelního zpracování dat, třírozměrné vizualizaci (VRML), spoustě nových typů grafů, ale též k symbolickým výpočtům a samozřejmě mnohému dalšímu. Neboli kdo to myslí s Octave vážně, je pro něj instalace doplňkových funkcí de facto povinností.
Přeji mnoho úspěšně vyřešených problémů s pomocí Oktávy!
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: