Project : scilab
Matlab To Scilab Conversion Toolbox
First work for M2SCI was to develop a new version, begun in June 2003, so that it could be used in Scilab 3.0, released in July 2004. The set of converted functions had to be improved so that basic Matlab scripts could be converted. The first functions that we wanted to convert automatically were Matlab primitives (hard coded functions). Main non-graphics primitives have been implemented in conversion tools before Scilab 3.0 candidate release.
Then we had to implement Matlab 5 data types in Scilab, saying ``struct'' and ``cell'' types. These types have been emulated in Scilab using tlists. A basis already existed in Scilab 2.7 but cells (which can be considered as a particular type of struct) emulation was bad in many cases so we had to rewrite a big part of it copying and adapting struct emulation code. After this step, some tests has been written and improved to handle more cases and to verify Matlab compatibility.
The next step of this development should be the conversion of Matlab graphics. But Scilab graphics were not stable enough to start the conversion of Matlab graphics. So, automatic conversion of Matlab graphics could not be implemented before Scilab 3.0. One other important difficulty to port Matlab graphics to Scilab is that IHMs and graphics can not be printed in a single graphic figure what is possible with Matlab graphics. This point is not yet developed in Scilab and is a part that has to be planed for Scilab 4.0.
Scilab 3.0 has brought us one important thing we did not have for M2SCI: our users feedback. With this release we have come up with some bugs but also some user requests. Since July, M2SCI development has been split between bug correction and new functionalities implementation (new function conversion, particular cases...). This work has been realized jointly with some Scilab Consortium members really interested in converting their work to Scilab.
Jointly to this work, the dictionary of Matlab and Scilab equivalents has been updated with new automatically converted functions and this document is now available on Scilab Web site.
Documentation has been written to help future developments.