IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
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: