5
* Cette classe permet de cr�er des matrices et de faire effectuer des
6
* calculs sur ces matrices par Scilab
11
* contient les �l�ments de la matrice stock�s colonne par
15
protected double [] x ;
16
protected String s[] ;
22
* renvoit le nombre de lignes de la matrice.
24
public int getRow() { return m;}
26
* renvoit le nombre de colonnes de la matrice.
28
public int getCol() { return n;}
30
* renvoit le nom Scilab de la matrice.
32
public String getName() {return name;}
35
* renvoit un tableau unidimensionnel de <tt>double</tt> contenant
36
* les �l�ments de la matrice stock�s colonne par colonne.
38
public double[] getData() { return x;}
39
public String[] getSData() { return s;}
42
* Construit une matrice <tt>mxn</tt> de nom <tt>name</tt>
43
* (ce sera le nom Scilab de la matrice) dont les �l�ments sont
44
* initialis�e avec la valeur z�ro.
46
public Matrix(String name,int m,int n)
53
this.t = 0 ; // real matrix
56
public Matrix(String name,int m,int n, int typemat)
63
else if ( typemat == 1 )
66
x = new double[2*m*n];
68
else if ( typemat == 2 )
81
* Construit une matrice <tt>mxn</tt> de nom <tt>name</tt>
82
* (ce sera le nom Scilab de la matrice) dont les �l�ments sont
83
* initialis�e avec le vecteur de double <tt>x</tt>. <tt>x</tt>
84
* contient les valeurs des �l�ments de la matrice stock�s
85
* colonne par colonne. l'�l�ment <tt>(i,j)</tt> est donc en
86
* <tt>x[i+ m*j]</tt> pour <tt>i</tt> dans <tt>[0,m]</tt> et <tt>j</tt>
87
* dans <tt>[0,n]</tt>.
89
public Matrix(String name,int m,int n,double []x )
91
if ( m*n != x.length && 2*m*n != x.length )
92
throw new BadDataArgumentException("Bad Matrix call, size of third argument is wrong");
93
this.x = x ; this.m = m ; this.n = n;
95
if ( m*n == x.length )
105
public Matrix(String name,int m,int n, String[]s )
107
if ( m*n != s.length )
108
throw new BadDataArgumentException("Bad Matrix call, size of third argument is wrong");
109
this.m = m ; this.n = n;
111
this.t = 2 ; // String matrix
116
* Envoit la matrice r�f�renc�e par l'objet <tt>Matrix</tt> � scilab.
117
* Fait executer le calcul Scilab d�crit par la cha�ne
118
* <tt>job</tt> et renvoit dans l'objet <tt>Matrix</tt>
119
* l'�tat de la matrice apr�s le calul. C'est le champ
120
* <tt>name</tt> qui d�signe le nom Scilab de la Matrice.
122
* @param job Cha�ne de carat�re (Attention le caract�re <tt>'</tt>
123
* pour �tre utilis� dans la cha�ne <tt>job</tt> doit �tre
127
public void scilabGet()
129
// Appel de scilabGet native
141
s[ix+j*m] = scilabGetSN(ix, j);
147
public native void scilabJob(String job);
149
* Envoit la matrice r�f�renc�e par l'objet <tt>Matrix</tt> � scilab.
151
public native void scilabSend();
153
* Recopie dans l'objet <tt>Matrix</tt> la valeur de l'objet Scilab
154
* de type Matrice correspondant.
156
public native void scilabGetN();
157
public native String scilabGetSN(int ix, int j);
159
* Fait executer le calcul Scilab d�crit par la cha�ne
162
public static native void scilabExec(String job);
165
public native void testFill();
169
System.loadLibrary("javasci");