public abstract class AbstractMatrixND extends Object implements MatrixND
| Modifier and Type | Field and Description |
|---|---|
static char |
CSV_SEPARATOR
Separateur CSV par défaut le point virgule.
|
protected double |
defaultValue
Deprecated.
as of 2.1 seams unused
|
protected int[] |
dim |
protected DimensionHelper |
dimHelper |
protected String[] |
dimNames |
protected MatrixFactory |
factory |
protected String |
name |
protected static Pattern |
NUMBER |
protected List<?>[] |
semantics |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractMatrixND(MatrixFactory factory) |
|
AbstractMatrixND(MatrixFactory factory,
int[] dim) |
|
AbstractMatrixND(MatrixFactory factory,
List<?>[] semantics) |
|
AbstractMatrixND(MatrixFactory factory,
String name,
int[] dim) |
|
AbstractMatrixND(MatrixFactory factory,
String name,
int[] dim,
String[] dimNames) |
|
AbstractMatrixND(MatrixFactory factory,
String name,
List<?>[] semantics) |
|
AbstractMatrixND(MatrixFactory factory,
String name,
List<?>[] semantics,
String[] dimNames) |
| Modifier and Type | Method and Description |
|---|---|
MatrixND |
add(MatrixND m)
Modifie la matrice actuelle en lui ajoutant les valeurs de la matrice
passé en parametre.
|
MatrixND |
adds(double d)
Addition d'un scalaire à une matrice.
|
MatrixND |
clone()
Créer une nouvelle instance clonée de celle-ci
|
MatrixND |
copy()
Copy la matrice pour pouvoir la modifier sans perdre les donnees
initiales.
|
MatrixND |
cut(int dim,
int[] toCut)
Permet de supprimer des éléments de la matrice.
|
MatrixND |
divs(double d)
Multiplication d'une matrice par un scalaire.
|
boolean |
equals(MatrixND mat) |
boolean |
equals(Object o) |
boolean |
equalsValues(MatrixND mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et
pas les semantiques
|
void |
exportCSV(Writer writer,
boolean withSemantics)
Export dans un writer au format CSV de la matrice
|
protected void |
exportCSV2D(Writer writer,
boolean withSemantics)
Export dans un writer au format CSV de la matrice
|
protected void |
exportCSVND(Writer writer,
boolean withSemantics)
Export dans un writer au format CSV de la matrice
|
void |
fromList(List<?> list)
Permet de charger une matrice a partir d'une representation List
|
int[] |
getDim()
Retourne les dimensions de la matrice.
|
int |
getDim(int d)
Retourne la dimension de la matrice dans la dimension d.
|
int |
getDimCount()
Retourne le nombre de dimensions de la matrice.
|
String[] |
getDimensionName()
Deprecated.
Use #getDimensionNames()
|
String |
getDimensionName(int dim)
Retourne le nom de la dimension demandée.
|
String[] |
getDimensionNames()
Permet de recuperer les noms des dimension.
|
MatrixFactory |
getFactory()
Retourne la factory utilisée pour créer cette matrice, la factory
peut-être réutilisé pour créer d'autre matrice si besoin.
|
double |
getMaxOccurence()
Deprecated.
|
double |
getMaxOccurrence()
Retourne la valeur la plus courrement rencontrer dans un tableau.
|
String |
getName()
Retourne le nom de la matrice.
|
int |
getNbDim()
Deprecated.
use #getDimCount() instead
|
List<?> |
getSemantic(int dim)
Retourne la semantique pour une dimension.
|
List<?>[] |
getSemantics()
Donne toutes les semantiques de la matrice.
|
List<?> |
getSemantics(int dim)
Deprecated.
Use #getSemantic(dim)
|
MatrixND |
getSubMatrix(int[]... elems)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
int[] elem)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
int start,
int nb)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
Object... elem)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
Object start,
int nb)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(Object[]... elems)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrixOnSemantic(int dim,
Object... elem)
Add to desambiguas some call with xpath engine, but do the same thing
getSubMatrix(int, Object[]) |
double |
getValue(int x)
Return a 1D matrix value.
|
double |
getValue(int x,
int y)
Return a 2D matrix value.
|
double |
getValue(int x,
int y,
int z)
Return a 3D matrix value.
|
double |
getValue(int x,
int y,
int z,
int t)
Return a 4D matrix value.
|
double |
getValue(Object x)
Return a 1D matrix value.
|
double |
getValue(Object[] coordinates)
Renvoie un element de la matrice demandée en fonction des dimensions
passé en paramètre.
|
double |
getValue(Object x,
Object y)
Return a 2D matrix value.
|
double |
getValue(Object x,
Object y,
Object z)
Return a 3D matrix value.
|
double |
getValue(Object x,
Object y,
Object z,
Object t)
Return a 4D matrix value.
|
void |
importCSV(File file,
int[] origin)
Import depuis un reader au format CSV des données dans la matrice.
|
void |
importCSV(Reader reader,
int[] origin)
Import depuis un reader au format CSV des données dans la matrice
|
void |
importCSV(Reader reader,
int[] origin,
String matrixName)
Import depuis un reader au format CSV des données dans la matrice.
|
protected void |
importCSVND(Reader reader,
int[] origin)
Import CSV file defined in Matrix ND format.
|
protected List |
importCSVNDReadDimension(Reader reader)
Read a line and convert line to semantic value.
|
protected void |
init(int[] dim) |
boolean |
isSupportedCSV()
Deprecated.
since 2.2, always return
true, CSV import/export is
always supported |
boolean |
isValidCoordinates(int[] dim) |
boolean |
isValidCoordinates(Object[] semantics) |
MatrixND |
map(MapFunction f)
Retourne la matrice elle meme.
|
double |
meanAll()
Return all matrix data mean value
|
MatrixND |
meanOverDim(int dim)
Effectue la moyenne des valeurs sur une dimension donnée.
|
MatrixND |
meanOverDim(int dim,
int step)
Effectue la moyenne des valeurs sur une dimension donnée. la moyenne
permet juste de regrouper dans une dimension un certain nombre de valeur.
|
MatrixND |
minus(MatrixND m)
Modifie la matrice actuelle en lui soustrayant les valeurs de la matrice
passé en parametre.
|
MatrixND |
minuss(double d)
Soustraction d'un scalaire à une matrice
|
MatrixND |
mult(MatrixND m)
Multiplication normal (produit matriciel) de 2 matrices 2D.
|
MatrixND |
mults(double d)
Multiplication d'une matrice par un scalaire.
|
MatrixND |
paste(int[] origin,
MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre
|
MatrixND |
paste(MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre
|
MatrixND |
pasteSemantics(MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre
La copie se fait en fonction de la semantique, si un element dans une
dimension n'est pas trouvé, alors il est passé
|
MatrixND |
reduce()
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un
élement soit supprimée.
|
MatrixND |
reduce(int minNbDim)
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un
élement soit supprimée.
|
protected MatrixND |
reduce(List<?> dimName,
List<Object> sem,
int[] correspondance)
Create new matrice from the current matrix.
|
MatrixND |
reduceDims(int... dims)
Reduit le matrice seulement sur les dimensions passées en argument.
|
void |
setDimensionName(int dim,
String name)
Permet de mettre un nom à une dimension.
|
void |
setDimensionName(String[] names)
Deprecated.
Use #setDimensionName(String[])
|
void |
setDimensionNames(String[] names)
Permet de mettre des noms aux différentes dimension.
|
void |
setName(String name)
Permet de donner un nom à la matrice.
|
<E> void |
setSemantic(int dim,
List<E> sem)
Modifie la semantique d'une dimension.
|
<E> void |
setSemantics(int dim,
List<E> sem)
Deprecated.
Use #setSemantic(dim, List
|
void |
setValue(int x,
double d)
Modify a 1D matrix value.
|
void |
setValue(int x,
int y,
double d)
Modify a 2D matrix value.
|
void |
setValue(int x,
int y,
int z,
double d)
Modify a 3D matrix value.
|
void |
setValue(int x,
int y,
int z,
int t,
double d)
Modify a 4D matrix value.
|
void |
setValue(Object[] coordinates,
double d)
Modifie un element de la matrice en fonction des dimensions passé en
paramètre.
|
void |
setValue(Object x,
double d)
Modify a 1D matrix value.
|
void |
setValue(Object x,
Object y,
double d)
Modify a 2D matrix value.
|
void |
setValue(Object x,
Object y,
Object z,
double d)
Modify a 3D matrix value.
|
void |
setValue(Object x,
Object y,
Object z,
Object t,
double d)
Modify a 4D matrix value.
|
double |
sumAll()
Somme toutes les valeurs de la matrice.
|
MatrixND |
sumOverDim(int dim)
Somme la matrice sur une dimension donnée.
|
MatrixND |
sumOverDim(int dim,
int step)
Somme la matrice mais la matrice reste de la même dimension. la somme
permet juste de regrouper dans une dimension un certain nombre de valeur.
|
MatrixND |
sumOverDim(int dim,
int start,
int nb) |
List<?> |
toList()
Donne la matrice sous forme de List de list ... de double
|
String |
toString() |
MatrixND |
transpose()
retourne le transpose de la matrice.
|
protected transient DimensionHelper dimHelper
protected transient MatrixFactory factory
protected String name
protected String[] dimNames
protected int[] dim
protected List<?>[] semantics
@Deprecated protected double defaultValue
public static final char CSV_SEPARATOR
protected static final Pattern NUMBER
protected AbstractMatrixND(MatrixFactory factory)
public AbstractMatrixND(MatrixFactory factory, int[] dim)
public AbstractMatrixND(MatrixFactory factory, List<?>[] semantics)
public AbstractMatrixND(MatrixFactory factory, String name, int[] dim)
public AbstractMatrixND(MatrixFactory factory, String name, int[] dim, String[] dimNames)
public AbstractMatrixND(MatrixFactory factory, String name, List<?>[] semantics)
public AbstractMatrixND(MatrixFactory factory, String name, List<?>[] semantics, String[] dimNames)
protected void init(int[] dim)
public MatrixND copy()
MatrixNDpublic MatrixND clone()
MatrixNDpublic MatrixFactory getFactory()
getFactory in interface MatrixNDMatrixFactoryMatrixFactorypublic List<?>[] getSemantics()
MatrixNDgetSemantics in interface MatrixND@Deprecated public List<?> getSemantics(int dim)
getSemantics in interface MatrixNDdim - la dimension pour lequel on veut la semantiquepublic List<?> getSemantic(int dim)
MatrixNDgetSemantic in interface MatrixNDdim - la dimension pour lequel on veut la semantique@Deprecated public <E> void setSemantics(int dim, List<E> sem)
setSemantics in interface MatrixNDE - data typedim - dimension to modify semanticsem - new semantic to setpublic <E> void setSemantic(int dim,
List<E> sem)
MatrixNDsetSemantic in interface MatrixNDE - data typedim - dimension to modify semanticsem - new semantic to setpublic void setName(String name)
MatrixNDpublic String getName()
MatrixNDpublic String[] getDimensionNames()
MatrixNDgetDimensionNames in interface MatrixNDpublic void setDimensionNames(String[] names)
MatrixNDsetDimensionNames in interface MatrixNDnames - names to set@Deprecated public String[] getDimensionName()
getDimensionName in interface MatrixND@Deprecated public void setDimensionName(String[] names)
setDimensionName in interface MatrixNDnames - names to setpublic void setDimensionName(int dim,
String name)
MatrixNDsetDimensionName in interface MatrixNDdim - la dimension dont on veut changer le nomname - le nom à donner à la dimensionpublic String getDimensionName(int dim)
MatrixNDgetDimensionName in interface MatrixNDdim - la dimension dont on veut le nom@Deprecated public double getMaxOccurence()
MatrixNDgetMaxOccurence in interface MatrixNDpublic double getMaxOccurrence()
MatrixNDgetMaxOccurrence in interface MatrixNDpublic int getNbDim()
public int getDimCount()
MatrixNDgetDimCount in interface MatrixNDpublic int[] getDim()
MatrixNDpublic int getDim(int d)
MatrixNDpublic MatrixND map(MapFunction f)
public double getValue(Object[] coordinates)
MatrixNDpublic double getValue(Object x)
MatrixNDpublic double getValue(Object x, Object y)
MatrixNDpublic double getValue(Object x, Object y, Object z)
MatrixNDpublic double getValue(Object x, Object y, Object z, Object t)
MatrixNDpublic double getValue(int x)
MatrixNDpublic double getValue(int x,
int y)
MatrixNDpublic double getValue(int x,
int y,
int z)
MatrixNDpublic double getValue(int x,
int y,
int z,
int t)
MatrixNDpublic void setValue(Object[] coordinates, double d)
MatrixNDpublic void setValue(Object x, double d)
MatrixNDpublic void setValue(Object x, Object y, double d)
MatrixNDpublic void setValue(Object x, Object y, Object z, double d)
MatrixNDpublic void setValue(Object x, Object y, Object z, Object t, double d)
MatrixNDpublic void setValue(int x,
double d)
MatrixNDpublic void setValue(int x,
int y,
double d)
MatrixNDpublic void setValue(int x,
int y,
int z,
double d)
MatrixNDpublic void setValue(int x,
int y,
int z,
int t,
double d)
MatrixNDpublic boolean equals(MatrixND mat)
public boolean equalsValues(MatrixND mat)
equalsValues in interface MatrixNDmat - public List<?> toList()
MatrixNDpublic void fromList(List<?> list)
MatrixNDpublic boolean isValidCoordinates(int[] dim)
public boolean isValidCoordinates(Object[] semantics)
public double sumAll()
MatrixNDpublic MatrixND sumOverDim(int dim)
MatrixNDpar exemple pour la matrice suivante si on somme sur la dimension 1 cela donnera
1 2 3 2 3 4 3 4 5
6 9 12
sumOverDim in interface MatrixNDdim - la dimension sur lequel il faut faire la sommepublic MatrixND sumOverDim(int dim, int step)
MatrixNDpour la matrice suivante :
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7la somme sur la dimension 1 avec un pas de 2 donnera :
3 5 7 9 7 9 11 13c'est à dire que la ligne 0 et la ligne 1 sont sommées. ainsi que la ligne 2 avec la ligne 3.
sumOverDim in interface MatrixNDdim - la dimension sur lequel il faut faire les sommesstep - le pas qu'il faut utiliser pour regrouper les elements. Si le
pas est inférieur à 0, le pas se comporte comme si on avait
passé en argument la taille de la dimension. Un pas de 0 ou 1,
retourne juste une copie de la matrice actuelle. si la
division du pas avec la taille de la dimension ne donne pas un
nombre entier, les elements restants ne sont pas pris en
compte. Par exemple si la dimension a 10 élements et que l'on
donne un pas de 3, dans la matrice resultat la dimension aura
3 elements qui seront la somme par 3 des 9 premiers element de
la matrice courante. Le 10eme element sera perdu.public MatrixND sumOverDim(int dim, int start, int nb)
sumOverDim in interface MatrixNDpublic double meanAll()
MatrixNDpublic MatrixND meanOverDim(int dim)
MatrixNDpar exemple pour la matrice suivante si on fait la moyenne sur la dimension 1 cela donnera
1 2 3 8 9 4 7 6 5
5.33 4.66 4
meanOverDim in interface MatrixNDdim - la dimension sur lequel il faut faire la moyennepublic MatrixND meanOverDim(int dim, int step)
MatrixNDpour la matrice suivante :
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7la moyenne sur la dimension 1 avec un pas de 2 donnera :
1.5 3.5 4.5 4.5 4.5 4.5 5.5 6.5c'est à dire que sur la ligne 0 et la ligne 1 on fait la moyenne. ainsi que la ligne 2 avec la ligne 3.
meanOverDim in interface MatrixNDdim - la dimension sur lequel il faut faire les sommesstep - le pas qu'il faut utiliser pour regrouper les elements. Si le
pas est inférieur à 0, le pas se comporte comme si on avait
passé en argument la taille de la dimension. Un pas de 0 ou 1,
retourne juste une copie de la matrice actuelle. si la
division du pas avec la taille de la dimension ne donne pas un
nombre entier, les elements restants ne sont pas pris en
compte. Par exemple si la dimension a 10 élements et que l'on
donne un pas de 3, dans la matrice resultat la dimension aura
3 elements qui seront la somme par 3 des 9 premiers element de
la matrice courante. Le 10eme element sera perdu.public MatrixND cut(int dim, int[] toCut)
MatrixND1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7un cut(1, [0,2]) donnera
2 4 3 5 4 6 5 7
public MatrixND paste(MatrixND mat)
public MatrixND paste(int[] origin, MatrixND mat)
paste in interface MatrixNDorigin - le point d'origine a partir duquel on colle la matricemat - une matrice avec le meme nombre de dimension, si la matrice
que l'on colle est trop grande, les valeurs qui depasse ne
sont pas prises en comptepublic MatrixND pasteSemantics(MatrixND mat)
pasteSemantics in interface MatrixNDmat - matrix to pastepublic MatrixND getSubMatrix(int dim, int start, int nb)
MatrixNDgetSubMatrix in interface MatrixNDdim - la dimension dans lequel on veut une sous matricestart - la position dans dim d'ou il faut partir pour prendre la
sous matrice. 0 <= start < dim.size si start est négatif alors
la position de départ est calculé par rapport à la fin de la
dimension, pour avoir le dernier élément il faut passer -1nb - le nombre d'élément à prendre dans la dimension si nb est
inférieur ou égal à 0 alors cela indique qu'il faut prendre
tous les éléments jusqu'à la fin de la dimension.public MatrixND getSubMatrix(int dim, Object start, int nb)
MatrixNDgetSubMatrix in interface MatrixNDdim - la dimension dans lequel on veut une sous matrice si dim est
négatif alors la dimension est prise à partir de la fin par
exemple si l'on veut la derniere dimension il faut passer -1
pour dimstart - la position dans dim d'ou il faut partir pour prendre la
sous matrice.nb - le nombre d'élément à prendre dans la dimension. si nb est
inférieur ou égal à 0 alors cela indique qu'il faut prendre
tous les éléments jusqu'à la fin de la dimension.public MatrixND getSubMatrixOnSemantic(int dim, Object... elem)
getSubMatrix(int, Object[])dim - elem - public MatrixND getSubMatrix(int dim, Object... elem)
MatrixNDgetSubMatrix in interface MatrixNDdim - la dimension dans lequel on veut une sous matriceelem - les éléments dans la dimension à conserverpublic MatrixND getSubMatrix(Object[]... elems)
MatrixNDMatrixND.getSubMatrix(int, Object...) suivant
l'implémentation.getSubMatrix in interface MatrixNDelems - les éléments dans la dimension à conserverpublic MatrixND getSubMatrix(int dim, int[] elem)
MatrixNDgetSubMatrix in interface MatrixNDdim - la dimension dans lequel on veut une sous matriceelem - les indices des éléments dans la dimension à conserverpublic MatrixND getSubMatrix(int[]... elems)
MatrixNDMatrixND.getSubMatrix(int, int[]) suivant
l'implementation.getSubMatrix in interface MatrixNDelems - les indices des éléments pour chaque dimension à conserverpublic MatrixND add(MatrixND m)
public MatrixND minus(MatrixND m)
public MatrixND transpose()
MatrixNDpublic MatrixND reduce()
MatrixNDpublic MatrixND reduceDims(int... dims)
MatrixNDreduceDims in interface MatrixNDdims - les dimensions sur lequel il faut faire la reductionpublic MatrixND reduce(int minNbDim)
MatrixNDprotected MatrixND reduce(List<?> dimName, List<Object> sem, int[] correspondance)
dimName - dimension name for new matrixsem - semantic for new matrixcorrespondance - array to do the link between current matrix and
returned matrixpublic MatrixND mult(MatrixND m) throws MatrixException
MatrixNDmult in interface MatrixNDm - matrix to multMatrixExceptionpublic MatrixND mults(double d)
MatrixNDpublic MatrixND divs(double d)
MatrixNDpublic MatrixND adds(double d)
MatrixNDpublic MatrixND minuss(double d)
MatrixND@Deprecated public boolean isSupportedCSV()
true, CSV import/export is
always supportedisSupportedCSV in interface MatrixNDpublic void importCSV(Reader reader, int[] origin) throws IOException
importCSV in interface MatrixNDreader - le reader à importerorigin - le point à partir duquel il faut faire l'importation
int[]{x,y}IOExceptionpublic void importCSV(Reader reader, int[] origin, String matrixName) throws IOException
importCSV in interface MatrixNDreader - le reader à importerorigin - le point à partir duquel il faut faire l'importationmatrixName - le nom de la matriceIOExceptionpublic void importCSV(File file, int[] origin) throws IOException
importCSV in interface MatrixNDfile - file to readorigin - le point à partir duquel il faut faire l'importationIOExceptionprotected void importCSVND(Reader reader, int[] origin) throws IOException
reader - reader containing contentorigin - not usedIOExceptionprotected List importCSVNDReadDimension(Reader reader) throws IOException
reader - reader to readIOExceptionpublic void exportCSV(Writer writer, boolean withSemantics) throws IOException
exportCSV in interface MatrixNDwriter - le writer ou copier la matricewithSemantics - export ou pas des semantiques de la matrice dans le
writerIOExceptionprotected void exportCSV2D(Writer writer, boolean withSemantics) throws IOException
writer - le writer ou copier la matricewithSemantics - export ou pas des semantiques de la matrice dans le
writerIOExceptionprotected void exportCSVND(Writer writer, boolean withSemantics) throws IOException
writer - le writer ou copier la matricewithSemantics - export ou pas des semantiques de la matrice dans le
writerIOExceptionCopyright © 2004-2011 CodeLutin. All Rights Reserved.