Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,742 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 165 místo. Karolina, GPU partition klesla na 195. místo a Karolina, CPU partition na 421. místo. Další přehledy a statistiky na stránkách projektu.
Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.
Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.
Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.
Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.
Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …
Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.
Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).
Pomalu se propracováváme k využívání souborů v Octave - buď jako úložiště dat nebo programů. Proto nesmí chybět seznámení, jak lze souborový systém v Octave správně uchopit. Začněme příkazy známými z shellu: pwd (Path to Working Directory) a cd (Change Directory):
% Ve Windows >> pwd /octave_files >> cd c:\matlab >> pwd /cygdrive/c/matlab % V Linuxu >> pwd /home/user >> cd /tmp >> pwd /tmp
V Linuxu bývá po spuštění aktuální složkou ta, ve které jsme Octave spustili, a s přístupem do jiných složek není žádný problém. V prostředí Windows běží Octave s pomocí Cygwin, jako kořenový adresář se nastavuje složka, ve které je Octave nainstalováno - přístup do jiných složek nicméně možný je, jednotky diskových oddílů se mapují do virtuálního adresáře cygdrive. Ve Windows je možno jako oddělovač složek použít obou lomítek - těch rozdílů mezi linuxovou a windowsovou verzí Octave lze při práci se soubory zaznamenat více.
Pro výpis souborů v aktuální složce slouží příkazy ls a dir:
>> ls data funkce.m skript.m >> dir ('/data/matlab') data funkce.m skript.m
Seznam souborů ze zadané složky lze uložit do matice pomocí funkce readdir:
>> files=readdir('.') files = . .. data funkce.m skript.m
Znak tečka zde označuje aktuální složku.
Octave samozřejmě umí vytvářet a mazat adresáře, přejmenovávat soubory apod. Názvy souborů a adresářů se zadávají jako textové parametry funkcí, které - pokud operace dopadla úspěšně - vrací hodnotu 0:
>> ls data funkce.m skript.m >> mkdir('slozka') % Vytvoř novou složku slozka ans = 0 >> ls data funkce.m skript.m slozka >> rmdir('slozka') % Smaž složku slozka ans = 0 >> ls data funkce.m skript.m
Funkce mkdir vytvořila složku pojmenovanou slozka, kterou následně smazala funkce rmdir. Soubor se maže funkcí unlink a přejmenovává pomocí rename:
>> ls data funkce.m skript.m >> unlink('data') % Smaž soubor data ans = 0 >> rename('skript.m','program.m') % Přejmenuj skript na program ans = 0 >> ls funkce.m program.m
Pro pečlivky - uvedené funkce mohou vracet dvouprvkový vektor
[navratova_hodnota, text_chybove_zpravy]
, tj. pokud je
návratová hodnota nenulová, z textu chybové zprávy můžeme vypátrat, v čem
tkví problém. Případné zájemce o další podrobnosti a „systémové
utility“ opět odkáži na dokumentaci. Zde uvedeme již jen užitečný
příkaz diary - s jeho pomocí lze veškerý výstup v terminálu
kopírovat do zvoleného souboru:
>> diary lekce3.txt >> A=34; B=A/7; >> diary off
Předchozí příkazy zařídí vytvoření souboru lekce3.txt, jehož obsahem budou řádky uvedené dál až po příkaz diary off, který toto logování vypíná. Opětovně lze zapnout s parametrem on.
Již dříve jsme uvedli, že matici je možno naplnit výčtem jejích jednotlivých prvků nebo funkcí, jako jsou například zeros, eye, rand apod. Další možností, jak tohoto dosáhnout, je nahrání dat ze souboru. Mějme například textový soubor mereni.txt s následujícím obsahem:
--[soubor mereni.txt]-- 12 3 5.4 76 1 2 4.3 89 -1 +5 9.999 100 --[konec souboru]--
Vidíme, že se jedná o matici správně zapsaných čísel, a tudíž obsah tohoto souboru můžeme nahrát do proměnné v Octave pomocí příkazu load:
>> load mereni.txt >> whos prot type rows cols name ==== ==== ==== ==== ==== rwd matrix 3 4 mereni >> mereni mereni = 1.0e+02 * 0.12000 0.03000 0.05400 0.76000 0.01000 0.02000 0.04300 0.89000 -0.01000 0.05000 0.09999 1.00000
Z výpisu příkazu whos vidíme, že nám vznikla nová proměnná mereni čítající tři řádky a čtyři sloupce - Octave proměnnou automaticky pojmenovává podle názvu souboru bez přípony. Z výpisu obsahu proměnné mereni pak vidíme, že skutečně obsahuje ta čísla, která jsou uložena v souboru mereni.txt. Tímto způsobem můžeme relativně snadno do Octave dostat kvanta čísel „získaná někde jinde“, například z nějakého tabulkového kalkulátoru, a dále zpracovávat.
Pokud by již existovala proměnná pojmenovaná stejně jako nahrávaný
soubor (což nastane typicky tehdy, když se pokoušíme nahrát jeden soubor
opakovaně), Octave vypíše varování a soubor nenahraje. Přepsání lze donutit
přepínačem -force
uvedeným bezprostředně za příkazem
load:
>> load mereni.txt warning: load: local variable name `mereni' exists warning: use `load -force' to overwrite >> load -force mereni.txt
Pro ukládání obsahů proměnných do souborů existuje příkaz save:
>> save mereni
Uvedený příkaz zapříčiní vytvoření souboru mereni v aktuální složce, který ovšem po otevření v nějakém textovém editoru nebude uživatelsky moc čitelný. Octave totiž obsahy proměnných ve výchozím nastavení ukládá do binárních souborů, které oproti čistému textu nabízí následující výhody:
Naproti tomu je čistý text snadno čitelný uživatelem a dá se importovat do jiných programů; volba vhodného formátu se tedy odvíjí od toho, co uživatel s uloženými daty zamýšlí:
-ascii
- uloží data jako čistý text-binary
- binární formát Octave, hodí se pro zálohu
dat-mat-binary
- binární formát Matlabu od verze 5, lze tedy
použít pro přenos dat z a do Matlabu-hdf5
- volně využitelný univerzální binární formát
používaný některými vědeckými aplikacemiVolbu formátu zajistíme prvním parametrem příkazu save, druhý parametr vymezuje jméno souboru a následující pak názvy proměnných, které se mají uložit. Neuvedeme-li žádnou proměnnou, uloží se všechny z aktuálního paměťového prostoru (tj. ty, které vypíše příkaz who). Následující příkaz tedy uloží matici mereni v čistém textu do souboru mereni-cisty_text.txt:
>> save -ascii mereni-cisty_text.txt mereni
Výchozí formát, ve kterém se mají proměnné do souborů ukládat, lze nastavit v zabudované proměnné default_save_format. Podobně proměnná save_precision upřesňuje, kolik desetinných míst se má ukládat, pokud je jako formát zvolen čistý text.
Dodejme ještě, že příkaz load automaticky detekuje formát souboru, z kterého nahrává - nicméně stejnými parametry jako u příkazu save jej můžeme donutit, aby předpokládal zadaný formát u nahrávaného souboru. Podobně lze za název souboru uvést seznam proměnných, které se ze souboru mají nahrát (v případě binárních formátů), bez uvedení se nahrají všechny proměnné.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
>> plot(t,y) >> Timeout: gnuplot is not ready Signal 127 warning: connection to external plotter (pid = 509527) lost -- warning: please try your plot command(s) again
Týká se ukládání a načítání dat ze souboru. Dá se octave nějak donutit, aby uložila jenom samotná data, bez těch prvních asi pěti řádků s popisem, jako to dělá při parametru -text/-ascii příkazu save?
Pak když je chci znova načíst v dalším skriptu, obvykle zapomenu, jak se ta proměnná jmenovala, a načte se mi to trošku podivně. Zkuste sekvenci následujících tří příkazů:
A = rand(4,3)
save -text 'A.txt' A
B = load -text 'A.txt'
Postupně jsem přišel na to, že když z uloženého souboru A.txt umažu těch pár popisných řádků, vše funguje, jak má, ale je to takové divné řešení. Nevíte, jak na to?
load 'promenne.txt'obnoví všechny proměnné z uvedeného souboru a
B = load 'promenne.txt'obnoví všechny proměnné organizované v datové struktuře se jménem B, takže k jednotlivým proměnným lze přistupovat jako B.<název proměnné>, v popisovaném případě tedy jako B.A.
Ta volba -text je poměrně nová. V Octave 2.1.71 už je. Měla by být stejná jako volba -ascii. Tu jsem používal dříve, ale prý se má používat -text:
octave:2> save -ascii 'A.txt' A
warning: the meaning of this option will change in a future
warning: version of Octave to be compatible with Matlab.
warning: To keep the meaning of your code the same across
warning: this change, use the -text option instead.
octave:3> version
ans = 2.1.71
Problém bude asi spíše ve mně, měl bych zkusit používat rozumné názvy proměnných a důsledně podle nich pojmenovávat soubory, do kterých je ukládám. Nebo se naučit používat nějaké ty nízkoúrovnové operace se soubory.
Jinak te seriál je skvělý.