Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
Microsoft Defender nově podporuje linuxové desktopy.
Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.
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: