Alexandre Trilla, PhD - Data Scientist | home publications


-- Thoughts on data analysis, software development and innovation management. Comments are welcome

Post 18

R, Octave and Scilab


Today the program for the next Jornades de Programari Lliure has been made available on the web portal of this meeting. Although the program is still provisional, the appointed activities schedule a speech on R and a tutorial on Octave and Scilab.

As is reported in the description of these events, the speech on R will be focused on the need of these sort of free statistical tools for the wealth of the scientific community. R is presented as a vehicular tool for the collaboration among different research groups, as well as a means of providing students with quality tools to exercise their technical abilities once they attain their grades and leave the university.

But I would now like to concentrate on Octave and Scilab since I am somewhat more accustomed to working with them, for convenience. It's wonderful that these tools eventually get to the people. With utilities like these, which are developed and supported by hordes of researchers around the world, I do find it hard to argue in favor of more "traditional" products like Matlab and the like. But the world is still imperfect. I have been using them both for about three years now, dealing with their peculiarities. I will put a clear example to show what I mean. Some days ago, developing a Magnitude Difference Function (MDF) pitch and sonority detector, Scilab resulted 3.63 times faster than Octave (using the same base code). At first sight, one would say that Scilab is a deal better choice: it has a nice GUI, a box diagram based dynamic system simulator and a powerful plotting engine. But when then I developed a LPC vocoder and needed a function to retrieve the LPC coefficients, only Octave provided such function, which means that either the previous code had to be recoded into Octave or that the function had to be recoded into Scilab. To my mind, this is not a big problem, because in any case one ends up learning a lot more than what one was supposed to learn at the beginning of the work, and at the end of it, one has the chance to contribute to the wealth of the software of choice and the scientific community as a whole.

All contents © Alexandre Trilla 2008-2024