4 ms·
It's strange there're no single comment about Octave — http://www.gnu.org/software/octave/ http://www.gnu.org/software/octave/ It's free software and the lang
by lelf 13y ago
It's strange there're no single comment about
Octave — http://www.gnu.org/software/octave/ http://www.gnu.org/software/octave/
It's free software and the language is 99% compatible with Matlab.
Edit: and yes, Matlab is not intended for any generalisation/abstraction. It's a big scientific calculator with REPL. And complicated program in it still feels like big calculator
- deleted 13y ago[deleted]
- Derbasti 13y agoAnd it shares all of its weaknesses. So why bother when there are alternatives like Python or R available?
- jordigh 13y agoNot all of them. Some of the most annoying things about the Matlab language we attempt to fix, as long as we can still run existing Matlab code. For example, you can index temporaries in Octave: x = sin([1, 2,3])(2). A few more things here: http://wiki.octave.org/FAQ#What_features_are_unique_to_Octave.3F http://wiki.octave.org/FAQ#What_features_are_unique_to_Octav...
- ErsatzVerkehr 13y agoAs someone who loves Matlab but would rather use a free-software solution, I must say that Octave is not an effective replacement for Matlab. Matlab itself is just so much more feature-complete and polished, turning to Octave feels like going back two decades in technology.
- mheathr 13y agoIn what way is Matlab more feature-complete and polished? With respect to just the actual language Octave is nearly a 1:1 implementation of Matlab, which is an primary goal to stride for and maintain, any differences between the two is considered a bug even.
- mattip 13y agoGraphics in general, handle graphics in particular, and no I'm not kidding. OOP for visualization can't be beat.
- mheathr 13y agoSo a specific graphics toolkit then? Is it one that is included with Matlab or another toolkit that is necessary to pay in addition for?
- mattip 13y agoMatlab is usually run as an ide with an interactive window (command line interpreter). Graphics are built in and interactive, you can interact with any number of graphics windows and with the command line at the same time (this is difficult to do in python numpy and matplotlib), and you can tweak the graphics windows from the command line to add GUI buttons, boxes, etc. This all comes built in to the most basic MATLAB commercial offering.
- jordigh 13y agoAh, you meant the GUI, not specifically the handle graphics properies, and a GUI to manipulate the graphics. This is all in development and almost completely functional in the current Octave dev branch. I hope our next upcoming release will satisfy you more.
- jordigh 13y agoOctave has handle graphics and almost all of the handle graphics properties that Matlab has. Do help us record which particular bits of handle graphics you're missing. It helps us to have a list of what's missing.
- m3koval 13y agoMatlab is much faster. For a sense of scale, a relatively simple image processing script ran 125 times faster in Matlab than Octave. This is, most likely, because Matlab has a better code optimizer. I don't see a compelling reason to use Octave unless you're trying to avoid paying for a Matlab license. If you're going to switch tools, why not switch to NumPy/SciPy and get the advantage of using a full-featured programming language?
- jordigh 13y agoWe're actually pretty feature complete wrt Matlab. The biggest things that are missing are the GUI, classdef OOP, and a JIT compiler. All of these currently have very lively and active development. Hopefully our next Octave release will seem less archaic to you. The language itself is very feature complete, however. Our main current goal has been for you to be able to grab your Matlab code and run it without modification in GNU Octave. For 99.9% of the lines of code in your code (assuming you don't use classdef), this works. The problem is that you might not always want to modify the remaining 0.1% lines of code to make them run in GNU Octave.