6 ms·
Scilab – Open source software for numerical computation
- gipp 9y agoHow does this compare to Octave? (https://www.gnu.org/software/octave/ https://www.gnu.org/software/octave/)
- sd8dgf8ds8g8dsg 9y ago> https://en.wikipedia.org/wiki/Scilab https://en.wikipedia.org/wiki/Scilab Scilab is one of the two major open-source alternatives to MATLAB, the other one being GNU Octave.[1][2][3][4] Scilab is similar enough to MATLAB that some book authors (who use it) argue that it is easy to transfer skills between the two systems.[5] Scilab however puts less emphasis on (bidirectional) syntactic compatibility with MATLAB than Octave does.[1][6][7]
- zuron7 9y agoBeen playing around with it for the past hour or so, looks like the program is trying to replicate MATLAB/Simulink with Scilab/Xcos. The menus/UI and other features very closely parallel MATLAB. Can even convert MATLAB code to Scilab code. Looks like it's being positioned as a cheaper alternative for a lot of educational establishments in developing countries.
- alfla 9y agoI believe Scilab has a Simulink equivalent, whereas I do not think Octave does? I'm a control engineer by training, and to be honest there's really no equivalent to Matlab/Simulink right now for control system design. Fortunately I'm currently working on statistics/sensor-fusion related stuff, and Python works just fine for that.
- hsjoberg 9y agoI tried doing sensor fusion with simulink and I thought it was horrible. Then me and my team switched to python instead and it worked really well. Never understood why to use simulink for other things then just controls.
- rattray 9y agoIt's not immediately clear from the homepage how this is different from Octave. https://www.gnu.org/software/octave/ https://www.gnu.org/software/octave/
- DINKDINK 9y agoIf my memory serves me, I don't think Octave has comprehensive functionality that mimics Simulink
- jordigh 9y agoOctave tries to make every Matlab program run unmodified. A difficult goal, but that is the goal. Scilab doesn't try that exactly. They have their own syntax and some compatibility converter from Matlab code to Scilab code, but I don't thik it's as complete as Octave's. As a sibling comment mentions, Scilab has Xcos which tries to be a modelling helper like Simulink and Octave has nothing comparable.
- transverse 9y agoAlso, how does it compare to http://www.sagemath.org/ http://www.sagemath.org/
- gaius 9y agoSagemath really competed with Mathematica IMHO, not MATLAB.
- mixedmath 9y agosagemath is monolithic, and incorporates many other foss libraries within it. Other commenters here are discussing comparing scilab with Octave, and sagemath includes all of Octave.
- williamstein 9y agoI wish — unfortunately, SageMath doesn’t actually include Octave. I tried to include Octave at one point, but it took far too long to build from source and replicated too much functionality already available in Numpy/Scipy to make it worth the work at the time. I did write a (maybe not so great) pexpect interface between Sage and Octave, and there is also a Jupyter kernel that lets you call Octave from Python. Similar remarks apply to SciLab. A big point of Sage after all is getting open source math software to work together rather than compete. We are all on the same team!
- williamstein 9y agoSageMath is technically really a large Python library, with over 1 million lines of actual code in Cython and Python. Most Sage development is motivated by pure mathematics research (combinatorics, number theory, algebraic topology, manifolds, algebraic dynamics, etc.) and also undergrad mathematics education. For numerical computation, Sage has some interesting things, e.g., wrapping GSL using Cython, very good interval arithmetic, etc., but we ended up mainly punting to Numpy/Scipy/etc. because most Sage developers are not doing applied math/engineering. (DISCLAIMER: I’m the guy that started SageMath.)
- joelthelion 9y agoThis has been around for a while. However, it's clear to most people now that Python/Scipy is a better solution, rather than simply trying to copy Matlab. Python as a language is far, far better than Matlab. And the ecosystem has matured a lot, to the point that for many research algorithms, the Python offering is superior to the Matlab one.
- chappi42 9y agoAgree with first sentence. Before mostly switching to R more than 10 years ago I tried out Octave/Scilab (and preferred the latter). As for the alternative I'd say, Julia is (will be) a good choice also. Long in the making with a beautiful syntax which somewhat resembles Matlab. Sound "inner" foundation. And speed. Speed like no other dynamic language (important with increasing data abundance). Friendly and helpful community.
- mbaha 9y agoI'm scared of network effects for Julia, personally. Python is garnering tremendous amount of users. But then, I remember a computer vision teacher 3 years ago laughing at the idea of using Python instead of Matlab as Matlab is the "obvious industry standard".
- wallnuss 9y agoYou are right that the current adoption rate of Python makes it seem like Julia is in a losing position, but on the other hand it took Python a long time to get in to the position it is right now and systemic changes take time. The two arguments that speak for Julia from a user perspective (there exist much stronger arguments for package developers). a; Low overhead interoperability with Python, R, C and Fortran (and C++); You don't need to rewrite your code and you can start using Julia and slowly transition. b; User code as fast as package/base library code. You are not stuck with what already exists.
- catawbasam 9y ago
- alfla 9y agoI would suggest you add "Simulink" to the title, i.e. "An open-source alternative to Matlab/Simulink".
- gordaco 9y agoI thought that Scilab was well known. I used it in the uni during my degree in Maths. I prefer Matlab, but Scilab is still pretty decent. I haven't tried Octave, so I can't compare the two of them.
- shanavasm 9y agoIt emulates LabView too to an extend http://www.scilab.org/community/news/20140218 http://www.scilab.org/community/news/20140218
- jordigh 9y agoIt is interesting to note that ESI, the company that is sponsoring Scilab development, has recently hired the lead Octave developer too: http://lists.gnu.org/archive/html/octave-maintainers/2017-09/msg00053.html http://lists.gnu.org/archive/html/octave-maintainers/2017-09... This follows up on this story: https://news.ycombinator.com/item?id=13603575 https://news.ycombinator.com/item?id=13603575 Furthermore, reports of the death of Matlab (in favour of Python) have been greatly, greatly exaggerated.
- marmaduke 9y ago> reports of the death of Matlab (in favour of Python) MathWorks provides a way to call Python from MATLAB with the same simplicity as it can call Java. I don't think anyone declared MATLAB dead but it's a clear indication that they're losing ground.
- pletnes 9y agoI don't know that anyone claims Matlab is dying. But then, noone claims that Fortran is dying, either.
- scottlocklin 9y agoScilab is ancient; I was using it in grad school. They also made a decision at one point to make it just slightly incompatible with Matlab, which was probably a mistake. Octave is actually better at this point; they've managed to reproduce the best of Matlab's UI, which was always quite good. While I rarely develop things in Matlab, it is worth noticing that it is a very elegant way of expressing linear algebra and numeric oriented programs. Python is a vastly more useful language, but numerics are an afterthought, and expressing numerics is abominable in Python. When I'm looking up how to implement some classic numerics algorithm, the Matlab way is usually concise and its vector oriented operations are usually the right way to express it in any interpreted language, as it keeps you in Lapack-land (remember, Matlab's origins were a repl for Eispack/Linpack).
- mkl 9y ago> Python is a vastly more useful language, but numerics are an afterthought, and expressing numerics is abominable in Python. When I'm looking up how to implement some classic numerics algorithm, the Matlab way is usually concise and its vector oriented operations are usually the right way to express it in any interpreted language This is a really strange statement to me. Python has much better syntax for vectorised operations than Matlab. I have written a great deal of both (Python by choice, Matlab when required to), and in my experience almost everything numerical is easier to express in Python. Numpy is in large part a thin wrapper over fast low-level libraries, but with an excellent well-designed interface, unlike the undesigned growth-by-accretion of Matlab.
- newen 9y agoI don't think you've worked a lot with numpy. Matrix indexing is a nightmare in numpy and the documentation for just it is 3 pages long.
- mkl 9y agoI've worked a lot with numpy (hundreds to thousands of hours, depending exactly what you count). I've also worked with numerical arrays in several other languages, and of those I've tried I've found numpy the cleanest and simplest. What specifically do you see as nightmarish?
- leovailati 9y agoI am surprised that Julia hasn't been mentioned yet. It is the language/program that I normally use when I don't want or for some reason cannot use MATLAB. Many times I don't want to start MATLAB because of how ling that process takes on my computer, especially for easy tasks. I definitely recommend checking out Julia. Main website: https://julialang.org/ https://julialang.org/ Cloud: https://www.juliabox.com/ https://www.juliabox.com/ "Batteries included" IDE: https://juliacomputing.com/products/juliapro https://juliacomputing.com/products/juliapro
- cwyers 9y agoUm, Julia has been mentioned.
- leovailati 9y agoYou are right, I am sorry about that. I didn't catch it the first time I skimmed through the comments.
- drwu 9y agoAs we are comparing to MATLAB. I'm wondering why there is no comment about the toolboxes in MATLAB. Several standard toolboxes are the main reasons, that I'm still staying in MATLAB.
- knolan 9y agoI’m a long term Matlab user who now enjoys using Python. Students still like to stick to Matlab because of its pretty simple IDE and decent documentation. The various Python IDEs like Canopy and PyCharm are too often complicated for engineering students who just want the simplicity of Matlab’s Workspace to get whatever problem they have solved.
- CoreXtreme 9y agoThere is Spyder or Jupyter for them.
- knolan 9y agoPossibly, but you'll also have to break the monopoly the Mathworks have on Universities.
- aswanson 9y agoAs soon as you ask me for a name,email, DNA sample, etc for a download...you lose. Python doesn't do that. Which is why it is kicking Scilab, Matlabs et al arse.