Octave pouzivam uz nekolik let. Je to skvelej nastroj, s jednim velkym nedostatkem: ozelel bych ze neni kompatibilni s Matlabem, ale mnohem vice mi v nem chybi neco jako Simulink. Bejt tam neco takoveho, okamzite bych se Matlab-u zbavil...
Ano, je tady jeste (o neco jednodussi) Scilab/Xcos, jenze budoucnost tohoto sw je dle meho mineni mirne nejista. Minimalne od doby co to koupil Dassault Systemes. Sice jeste porad "open-source", jenze dokdy?
Úplne hlúpu otázku položím - akú veľkú časť simulinku používate? Nevedeli by ste si to nejak osktriptovať? Aj to je cesta v niektorých prípadoch ....
"neni kompatibilni s Matlabem" - ale GNU Octave je kompatibilni. Jen neobsahuje uplne vsechny funkce zakladniho Matlabu. Ale ty co obsahuje pokryvaji 99 % uziti. Denne pracuju s cizimi kody z matlabu, a skoro vzdy je dokazu pustit. Hlavni problem jsou matlabacke balicky, ale s tim maji problem i lidi co pouzivaji matlab, protoze nemaji zrovna ten balicek za stovky tisic co ma nekdo jiny.
Me spis vadi, ze Matlab nedokaze prijmout ty vylepseni, co do M jazyka prinesl Octave. Kdyz vidim ciste matlabovsky kod, ktery konci 5 radky s "end", a naprosto neni poznat ceho "end" to je, tak bych brecel.
Simulink - me prijde ze vsechno graficke programovani vypada hezky kdyz clovek resi jednoduche problemy. Takove vy ukazky reseni primitivniho obvodu nebo nejake jednoduche smycky. Ale jak se to zacne komplikovat pri realnem pouziti, tak je v tom grafickem programovani takova zmet, ze to je prekazka pochopeni.
Ne, Octave neni plne kompatibilni s Matlabem (a opacne uz vubec ne, ale to mne az tak netrapi). Treba v Matlabu je rozdil mezi "char string" a "char array" (v Octave je to to same). Octave ma jen omezenou podporu vnorenych funkci. Octave taky nepodporuje vsechny graficke funkce Matlabu (nektere jen castecne, nektere parametry vubec ne). Atd, atd.
No dyt pisu ze "je kompatibilni", nepisu ze je "plne kompatibilni". Octave se o kompatibilitu snazi, a jaksi z principu bude vzdycky pozadu. Ale pozadu je taky matlab vuci Octave.
Napsal jsem ze pro mne stavajici kompatibilita dela 99 % meho pouziti. Neboli kdyz mi nekdo posle matlab kod, tak ho v 99 % dokazu spustit, maximalne s malymi upravami. Ty nekompatibility nejsou moc omezujici. Treba zrovna vnorene funkce jsou dost prasecina ktera zbytecne komplikuje prehlednost kodu. Omezeni v grafickych funkcich se taky da ve spouste pripadu obejit. String chars/arrays - to bylo zavedeno 2017, a dodnes vsechen kod co vidim pracuje s retezci pomoci cell. Uprimne ten napad rozlisovat to pomoci 'a' a "a" je absolutne debilni, v mnoha jazycich apostrof a uvozovky rozlisuje zpusob expanze specialnich znaku, ale v MathWorks proste musi jit svou vlastni cestou.
Jina vec ohledne kompatibility jsou matlab balicky. Tam obvykle dojde na lamani chleba.