Ces programmes devenant lourds, le paquet javasci offre une classe MatrixUtilities, dérivée de Matrix, qui définit à titre d'exemple les quelques méthodes rand, inv, disp, lesquelles font appel à scilabJob. Pour en bénéficier, il faut utiliser MatrixUtilities au lieu de Matrix :
import javasci.MatrixUtilities; class JavaSciTest { public static void main(String[] args) { MatrixUtilities a = new MatrixUtilities("A", 4, 4); a.rand(); a.disp(); a.inv(); a.disp(); } }
L'utilisateur de l'interface Java/Scilab qui souhaite faire appel à d'autres fonctionnalités de Scilab est invité à étendre MatrixUtilities ou directement Matrix en définissant les méthodes utilitaires dont il a besoin. Voici, à titre d'exemple, la définition de la classe MatrixUtilities :
package javasci; public class MatrixUtilities extends Matrix { public MatrixUtilities(String name, int m, int n) { super(name, m, n); } public MatrixUtilities(String name, int m, int n, double[] x) { super(name, m, n, x); } public void inv() { scilabJob(getName() + "=inv(" + getName() +");"); } public void disp() { System.out.println("Matrix "+ getName() +"="); scilabJob("disp(" + getName() +");"); } public void rand() { scilabJob(getName() + "=rand(" + getRow() +"," + getCol() +");"); } }