Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.
Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.
V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.
Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.
Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.
Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).
Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.
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: