Blog
-- Thoughts on data analysis, software
development and innovation management. Comments are welcome
Post 18
R, Octave and Scilab
19-Jun-2009
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.
|