3 ms·
"near clone" is a bit exaggerated. As much as I'm a free software zealot, I don't think Octave comes close to matlab yet (provided you do anything a bit more ad
by wiz21c 1y ago
"near clone" is a bit exaggerated. As much as I'm a free software zealot, I don't think Octave comes close to matlab yet (provided you do anything a bit more advanced than the practical of some courses)
See https://stackoverflow.com/questions/12084246/differences-between-octave-and-matlab https://stackoverflow.com/questions/12084246/differences-bet...
- bee_rider 1y agoI don’t think Matlab or Octave are great languages for software engineering. Actually, these languages are like example #1 of the difference between engineering software vs software engineering: they are excellent tools for writing, like, 10-100 line numerical experiments. Anyone who runs up against a limitation of Octave has probably hit the point where they should consider switching, but not to Matlab or some other scripting language, but to Fortran or maybe Julia or something. Therefore, I disagree with the accepted answer in that StackOverflow thread. The language is only good in the first place for short codes anyway, so fixing any little octave/matlab regionalisms is not a big deal. And, since it is a mathematical experiments, you should understand what every line of code does, so running the code without reading it is not really an option.
- rs186 1y agoThey are never meant for general software engineer but for numerical analysis/data analysis and engineering. In fact they are quite horrible for writing general software code -- the APIs for IO and HTTP requests are very lacking compared what you can find in other languages, for example.
- duped 1y agoI haven't found a better CLI calculator utility for writing more than one-liner numerical stuff with some plots than MATLAB and octave. They're fantastic. Python is trash, by comparison.
- almostgotcaught 1y agoYou think MATLAB is better than (checks notes) a scripting language for writing one liners/throwaway code? Is that what you're saying here? Lol
- viccis 1y ago>a scripting language for writing one liners/throwaway code Just objectively not an accurate description of Python
- duped 1y ago1000% yes, because this kind of stuff is not oneliners and you don't want to throw it away. You also don't have the rats nest that is python environment and package management.
- DarmokJalad1701 1y ago> 10-100 line numerical experiments There's plenty of satellites, rockets, re-entry vehicles whose guidance and control code were designed and written using MATLAB/Simulink and then "autocoded" to C using "MATLAB Coder". While not my preferred way of doing things, it is popular for this purpose throughout the aerospace industry.
- ok123456 1y agoPeople who use MATLAB use it for the toolboxes. The language itself is awful.
- enriquto 1y ago> The language itself is awful. As a programming language freak, I must disagree... in what other programming language can you solve a linear system Ax=b in one line x = A\b without any external libraries or imports, just with the base language? I never used any official matlab "toolbox", but still love the language via the octave interpreter. It's so clean and straightforward!
- almostgotcaught 1y ago> without any external libraries or imports Why does this matter in the least? Like you must understand that this is a library call right? Like just put `import numpy as np` in your PYTHONSTARTUP and it's the exact same UX in python. https://docs.python.org/3/using/cmdline.html#envvar-PYTHONSTARTUP https://docs.python.org/3/using/cmdline.html#envvar-PYTHONST...
- torrance 1y agoWell, in Julia, for one.
- ok123456 1y agoAlso APL: b ⌹ A
- anthk 1y agoGNU Maxima. Not a general purpose one, but good enough. Also, qalc from libqalculate for trivial stuff.
- _glass 1y agoIn Python you can use a library, then it is: x = np.linalg.solve(A, b). But yeah, Octave is nice, because it stays very symbolic.