Escolar Documentos
Profissional Documentos
Cultura Documentos
On peut
bien sûr directement coder les fonctions, ou bien utiliser une API existante. Mais dans certains
cas, l'avantage d'autres langages peut être mis à profit.
Dans cet article, il est question d'interfacer l'outil SCILAB développé par l'INRIA. On
montrera comment l'installer et le configurer avec du code Java sous Eclipse. Dans un article
prochain, nous verrons comment utiliser SCILAB pour localiser un son à partir de deux
micros.
Scilab est un logiciel de calcul développé par l'INRIA. Pour décrire simplement ses fonctions,
on peut le positionner comme concurrent de Matlab, mais possédant une licence gratuite!. Il
possède par exemple les fonctionnalités suivantes :
Pour info, cela sera traité dans un prochain article, c'est ce dernier point qui m'a conduite vers
ce logiciel.
Pour programmer des fonctions mathématiques en JAVA, nous avons trois options :
• Recoder entièrement les fonctions dont on a besoin a partir de l'API de base de JAVA,
• Se dégotter une API en JAVA, si possible en Open Source de DSP dont la prise en
main n'est pas trop laborieuse (cela fait beaucoup de conditions),
• Utiliser un logiciel tiers spécialisé dans le domaine des mathématiques, que l'on va
faire communiquer avec le JAVA (l'opération n'est pas forcément facile, mais le gain
de performance peut être notable).
Nous sommes dans ce dernier cas et je vais présenter dans cet article comment faire
communiquer Scilab et Java sous windows. Scilab nous aura bien marché le travail.
Installer normalement le logiciel. Une fois que cela est fait, rendez-vous en ligne de
commande dans le répertoire (pour moi) C:\Program Files\scilab-3.1.1\bin. Il contient entre
autre le répertoire "javasci" qui lui même contient les fichiers :
Scilab.class
SciReal.class
BadDataArgumentException.class
En restant dans le repertoire "bin", compresser en .jar ces 3 classes :
$ jar cvf javasci.jar javasci/*.class
Ensuite, copier toutes les dll du répertoire bin dans votre répertoire d'installation de java. Pour
moi, le chemin est C:\j2sdk1.4.2_10\bin. J'ai également copié le répertoire "bin\atlas".
Ensuite il faut que vous déclariez une variable d'environnement globale SCI :
SCI=Path_install_scilab.
Pour moi :
SCI=C:\Program Files\scilab-3.1.1
Et voila vous etes prêt à travailler ! (pour la suite rendez-vous sur la page suivante)
Créer un nouveau Projet. Lors du choix des librairies, choisissez "ajouter un jar externe" puis
terminer. La configuration est terminée si l'archive Jar a correctement été effectuée et si vous
avec bien ajouté la variable SCI à votre système.
Pour tester, on peut utiliser un code très simple :
import javasci.* ;
class TestMatrix {
Scilab.Exec("x=loadwave(''c:\\test1.wav'');");
Scilab.Exec("y=loadwave(''c:\\test1.wav'');");
Scilab.Exec("correlation=corr(x,y,700)");
Scilab.Exec("[maximum, delay]=max(correlation);");