Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Math GUI Graphics Open Source Software Upgrades

GNU Octave Gets a GUI 166

jones_supa writes "GNU Octave — the open source numerical computation suite compatible with MATLAB — is doing very well. The new 3.8 release is a big change, as it brings a graphical user interface, a feature which has long been requested by users. It is peppered with OpenGL acceleration and uses the super fast FLTK toolkit for widgets. The CLI interface still remains available and GNUplot is used as a fallback in cases where OpenGL or FLTK support is not available. Other changes to Octave 3.8 are support for nested functions with scoping rules, limited support for named exceptions, new regular expressions, a TeX parser for the FLTK toolkit, overhauls to many of the m-files, function rewrites, and numerous other changes and bug fixes."
This discussion has been archived. No new comments can be posted.

GNU Octave Gets a GUI

Comments Filter:
  • ...but does it run linux?
    • by Anonymous Coward

      ...but does it run linux?

      It runs on Linux better than any other OS. Actually, it seems that Octave itself, not only the GUI, runs much better in Linux than MacOS or Windows. Probably, in part because the large majority of Octave developers uses Linux only.

      • No it doesn't. And heck no, why should it? Sure, given enough time and resource, it could be possible to run linux on Octave, but I don't see any sense of it.
  • by Ateocinico ( 32734 ) on Saturday December 28, 2013 @12:31PM (#45805735)

    Scilab is far better and always had native 3D graphics, a GUI and a simulation engine: scicos/xcos. It atonishes me that it is systematically ignored. Is it because is french?

    • by tie_guy_matt ( 176397 ) on Saturday December 28, 2013 @12:56PM (#45805901)

      As others have pointed out, octave runs (mostly) unmodified matlab code. Scilab doesn't. However scilab is just close enough to matlab to be really annoying if you are used to matlab. I think that is really why octave is more popular than scilab (probably doesn't have anything to do with scilab being more French but who knows.) Don't want to pay $$$$ for matlab? Install otave for free and do almost everything you would normally do with matlab w/o relearning much of anything. One thing about octave though is that the graphics aren't as nice as scilab and aren't nearly as nice as matlab. I am not to excited about the gui (even use the cli on the latest version of matlab) but hopefully this new version will make the graphics in octave more in line with the other packages.

      • Sagemath seems like quite a good freeware alternative as well. I've come to prefer it to Scilab (though the Scilab simulation feature is pretty awesome).
        • Sagemath is not just freeware but actual open source, and it is not even that, it's just a repackaging of existing software packages IIRC.

          • Sagemath is not just freeware but actual open source, and it is not even that, it's just a repackaging of existing software packages IIRC.

            This is very incorrect. Sage's website accurately describes it: "It combines the power of many existing open-source packages into a common Python-based interface. Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab."

    • by Anonymous Coward

      La vie est une tragédie pour celui qui sent, et une comédie pour celui qui pense.

    • Scilab is far better and always had native 3D graphics, a GUI and a simulation engine: scicos/xcos. It atonishes me that it is systematically ignored. Is it because is french?

      Personally, I find Scilab pretty awful (and for the record, I'm french).

  • Can someone from the numerical world explain to me what the added value is of Octave over Python with its numerical libraries?
    There are numerous interactive python consoles out there that have the same ease of use as the Matlab CLI had back when I used that.
    It seems to be much easier to compile a FORTRAN or C++ library to library than can be used by Python code.
    Also, performance-wise Octave has always been a bit disappointing, wasn't it?
    • by tulcod ( 1056476 ) on Saturday December 28, 2013 @12:35PM (#45805769)

      Yes. This runs unmodified MATLAB code.

      • Re: (Score:2, Interesting)

        by Anonymous Coward

        * In most cases. I used to manage an octave and a matlab library and there were plenty of places in the code where we had to fork the code on a test "Is this octave?" to call the right function.

        • by MAXOMENOS ( 9802 )
          Or, you have to refactor the function from scratch, which takes some understanding of linear algebra.
    • by professionalfurryele ( 877225 ) on Saturday December 28, 2013 @12:37PM (#45805783)

      MATLAB compatibility. From my experience that is just about it, both are pretty feature complete but as Octave basically copies MATLAB warts and all so I don't know why anyone would use it if they knew other nicer programming languages. And if you have access to MATLAB and use it every day then MATLAB is just way faster than Octave (or at least was last time I used it).

      Being a copy of MATLAB is really useful though, and Octave serves a role there. I code primarily in python (or C/C++) for work, but most of my colleagues use MATLAB. The Linux MATLAB client is crap and a pain to install and keep working, but Octave is one apt-get away and usually does the trick when I need to run my colleagues scripts or write something for them. It has a permanent spot on my hard drive for that.

      • by Trepidity ( 597 ) <delirium-slashdo ... g ['kis' in gap]> on Saturday December 28, 2013 @02:33PM (#45806669)

        Yeah, the fact that it runs always, while MATLAB does only sometimes, is why I use it when I need to run MATLAB stuff, even though my institution actually has a MATLAB site-license. Octave generally just works, while MATLAB has a bunch of license-server nonsense. Among other things, it doesn't work at all if you're offline (e.g. on a plane), since it has to contact the license server, and network-licensed copies have no Steam-style "offline mode", even a temporary one. And even online, the license server appears to be run on a toaster and down half the time, although that's probably my university's fault rather than MathWorks's fault.

      • so I don't know why anyone would use it if they knew other nicer programming languages.

        "Nicer" is a matter of opinion, and also a matter of what you're using it for. Matlab/Octave is designed from the very start for numerical math, and if that's what you're doing, I'd say it's a slightly nicer language than Python/Numpy/Scipy. But for anything other than numerical math, Python is a much nicer language.

        • I agree this is subjective, and I agree this is a horses for courses situation. But MATLAB isn't designed for abstract numerical computing, it is designed for linear algebra. If you have a task which you know can be reduced entirely (or at least almost entirely) to linear algebra (like a prototype neural network training scheme I was looking at a while back in MATLAB), then sure I'd say I find MATLAB's syntax a bit easier to work with. But if we are talking general numerical computing, or numerical computin

    • by Peaquod ( 1200623 ) on Saturday December 28, 2013 @12:38PM (#45805787)
      The main advantage is that you can run pre-existing MATLAB code, often without any modification whatsoever. When composing new code, I certainly prefer python/scipy. Also, many engineers and scientists know MATLAB because it is pervasive in industry, but do not have experience with Python.
    • Compatibility (more or less) with MATLAB would be the main one.
    • by Anonymous Coward

      Octave is good when you are used to code in a syntax like of Matlab and have already code written for it. It even improves on the languages, as it offers more ortogonality, e.g. one can further slice array slices, etc.
      Having used Matlab, Octave and Python+Scipy/Numpy, I still prefer Octave of all three. It runs everywhere, I've even used it in a system running on a Nokia N900 mobile phone. I find the python linear algebra syntax quite bad. Having to use "dot" for matrix multiplication, instead of an infix

      • Yes, python's syntax is too functional. It starts when you can't get out of the interpreter without typing parentheses at the end of "exit". And regex in Python is a pain because of the function-argument syntax. Ruby's is much easier to use because you don't have to escape a regex to fit it into a string, and you can use the infix operator =~.

    • by Anonymous Coward

      Matlab licenses are really expensive, but the program is really good at linear algebra and related calculations; so it's heavily used by engineers who are often trained in school to use it. For small engineering shops they can maybe afford a single Matlab license, but they don't have to pay for octave. So, you load your heavy work on the matlab machine and fallback on octave to collect and analyze your test data when speed isn't a worry.

      • Re: (Score:2, Informative)

        by Anonymous Coward

        Matlab itself can be easily replaced by Octave. But the value of matlab is in the available domain specific toolboxes and companies are willing to pay the 4- and 5-digit prices for these extension because they can save man-months or even man-years with them.

        • Wish I could mod the parent up.
          If you use a tool like Matlab professionally,. the purchase cost isn't a significant issue. Matlab's toolboxes, and support are excellent. I've used Octave,and Python-pylab. Both are fine, but I'm more productive with Matlab.

          Of course other people solving different types of problem may see very different results. I do mostly electron accelerator calculations and control, and so far matlab is the best tool I've found for those applications.

    • Basically, the academia is filled with lemmings who just barely know elementary Matlab syntax and how to click on the Matlab icon. Being compatible with Matlab is a big advantage. At the same time though, I'd agree that Python or R are better environments for those willing to learn a new language.

  • Good (Score:3, Informative)

    by Anonymous Coward on Saturday December 28, 2013 @12:41PM (#45805813)

    .. but Matplotlib + iPython Notebook + Pandas is worth a look, for those trying to escape "Matlab Prison"

  • by Anonymous Coward

    This is ridiculous. Why do we need some fancy GUI nonsense?

    If this breaks the backwards-compatibility with my trusty CDC 405 punch card reader, I'm taking my custom elsewhere!

  • qtoctave (Score:5, Interesting)

    by JohnVanVliet ( 945577 ) on Saturday December 28, 2013 @01:20PM (#45806075) Homepage

    it has one ALREADY

    I have been using Qtoctave for a VERY long time
    the current in SUISE12.3
    Repository: Packman Repository
    Name: qtoctave
    Version: 0.10.1-2.28
    Arch: x86_64

    • Re: qtoctave (Score:4, Informative)

      by Anonymous Coward on Saturday December 28, 2013 @02:51PM (#45806783)

      you will, however, find that no one works on it any more, the last active dev (me) now directs contributions to the official gui.

      • by Anonymous Coward

        So, could you explain, why FLTK and not Qt? Qt seems to be the common choice nowadays. I know fltk is very lightweight but octave isn't so I guess that's not the main reason.

    • QtOctave is not an integrated GUI for Octave - it's more of a graphically enhanced command line interface. It looks great on the surface but fails to have any depth. I don't mean to fault the QtOctave project - limitations in Octave are what prevented it from working well. From what I've read, Octave has been undergoing changes for the past two years in order to restructure it in such a way that it can work well with a GUI.

      The situation is similar to GCC. GCC does not integrate will with IDEs - sort

  • by Anonymous Coward

    I'd be interested in seeing the GUI and seeing if it is good enough to stop using Xoctave [], which gives it a MATLAB-like [] interface. Xoctave is nice, but pricey, which is why I am still using the free beta version.

  • Using OSX 10.6.8.
    Downloaded, ./configure ; make
    Got an error in "stdio.h"
    Hmmm. Maybe there's a reason this hasn't been announced.
  • even better: R (Score:5, Insightful)

    by cellocgw ( 617879 ) <> on Saturday December 28, 2013 @05:02PM (#45807509) Journal

    I'm a bit surprised to find that, 60 comments in, nobody's yet suggested R , e.g. [] as an alternative. There are several different GUIs available for R (Rstudio, Rcommander, Rjava,...), it's 100% opensource, and frankly most of us R users find the syntax and flexibility to be far better than MatLab. And the graphics have to be seen to be believed. You can do anything and then some.

    • R is for statistics. Octave is for linear algebra.

      • That's (mostly) true, but a lot of people tend to use MATLAB for data collection, manipulation and analysis. R is a much more powerful tool (and easier to use in my opinion) than MATLAB for this purpose, so it probably deserves a mention. The plotting with ggplot [] is also just gorgeous! For neuroimaging, I am happily moving away from MATLAB to a combination of R, Arduino code and Python, although the psychtoolbox [] still has a warm spot in my heart!
      • Re:even better: R (Score:4, Informative)

        by hubie ( 108345 ) on Saturday December 28, 2013 @09:57PM (#45808911)

        R has everything I need for linear algebra. []

        I love the graphics on R as well. Matlab always looks too computer-y for me. However, the thing I love the most about R is that not only is it free and top-notch quality, but I run it on my Windows box, linux box, for giggles I've loaded it on Raspbian on a Raspberry Pi, and if I ever get around to rooting my phone, I could even load it on there as well. No license files.

        With regard to Octave, when I've been given m-files, I've found Octave to be a very good substitute for Matlab.

    • R is wonderful for statistics, I use it often for that, but as a programming language it's slow and bloody awful. If you have a lot of elaborate data pre-processing to do, such as filtering signals, identifying events in time course data, image processing, etc, then R isn't the way forward. Best approach is to use something more general-purpose to extract the descriptive statistics, then export to R to fit the models.
  • by Anonymous Coward

    Ignoring that I haven't finished downloading jdk-7u45 yet,

    setenv LLVM_LIBS /usr/lib/ocaml # this is wrong
    setenv LLVM_CONFIG /usr/bin
    setenv QT_LIB /usr/lib/qt3/:/usr/include/qt3 ./configure --disable-extra-warning-flags --with-ccolamd-includedir=/usr/include/suitesparse --with-ccolamd-libdir=/usr/lib --with-camd-includedir=/usr/include/suitesparse/:/usr/include/w32api/:/usr/bin --with-camd-libdir=/usr/lib/:/usr/lib/w32api --with-cxsparse-includedir=/usr/lib/w32api --with-cxsparse-libdir=/usr/lib/w32api -

  • Those who're interested in Matlab alternatives would be well served to check out Julia [].

    It's a very clean language and has very good (LLVM based) performance!

Forty two.