public class MatrixSemanticsDecorator extends Object implements MatrixND
| Modifier and Type | Class and Description |
|---|---|
static class |
MatrixSemanticsDecorator.SemanticsDecoratorMatrixIterator |
| Modifier and Type | Field and Description |
|---|---|
protected List[] |
cacheSemantics |
protected SemanticsDecorator |
decorator |
protected MatrixND |
matrix |
| Constructor and Description |
|---|
MatrixSemanticsDecorator(MatrixND matrix,
SemanticsDecorator decorator) |
| Modifier and Type | Method and Description |
|---|---|
MatrixND |
add(MatrixND m)
Addition la matrice courante avec la matrice passe en parametre et se
retourne elle meme.
|
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 |
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
|
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()
Permet de recuperer les noms des dimension.
|
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 qui a permit de creer la matrice.
|
double |
getMaxOccurence()
Retourne la valeur la plus couramment rencontree dans un tableau.
|
double |
getMaxOccurrence()
Retourne la valeur la plus courrement rencontrer dans un tableau.
|
String |
getName()
Retourne le nom de la matrice.
|
int |
getNbDim()
Retourne le nombre de dimensions de la matrice.
|
int |
getNumberOfAssignedValue()
Returne number of assigned value, assigned value is value stored in memory
|
List |
getSemantic(int dim)
Retourne la semantique pour une dimension.
|
List[] |
getSemantics()
Donne toutes les semantiques de la matrice.
|
List |
getSemantics(int dim)
Retourne la semantique pour une dimension.
|
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[]... elem)
Permet de prendre une sous matrice dans la matrice courante.
|
double |
getValue(int x)
Return a 1D matrix value.
|
double |
getValue(int[] dimensions)
Renvoie un element de la matrice demandée en fonction des dimensions
passé en paramètre.
Exemple: Si on a un matrice 3D. getValue(1,1,1) retourne un element de la matrice. |
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.
|
boolean |
isSupportedCSV()
Determine si la matrice supporte l'import et l'export CSV
|
MatrixIterator |
iterator()
Retourne un iterator sur toute la matrice.
|
MatrixIterator |
iteratorNotZero()
Retourne un iterator pour toutes les valeurs de la matrices differente
de 0
|
MatrixND |
map(MapFunction f)
Applique une fonction sur chaque valeur de la matrice.
|
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.
|
MatrixND |
minus(MatrixND m)
Soustrai la matrice courante avec la matrice passe en parametre et ce
retourne elle meme.
|
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)
Copie une matrice dans la matrice actuelle.
|
MatrixND |
paste(MatrixND mat)
Copie une matrice dans la matrice actuelle.
|
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.
|
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)
Permet de mettre des noms aux différentes dimension.
|
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)
Modifie la semantique d'une dimension.
|
void |
setValue(int[] dimensions,
double d)
Modifie un element de la matrice en fonction des dimensions passé en
paramètre.
Exemple: Si on a un matrice 3D. set([1,1,1], m) modifie un element de la matrice. |
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.
|
int |
size()
Retourne le nombre d'element dans la matrice [2, 3, 5] donnera 30
|
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.
|
MatrixND |
sumOverDim(int dim,
int start,
int nb) |
List<?> |
toList()
Donne la matrice sous forme de List de list ...
|
String |
toString() |
MatrixND |
transpose()
retourne le transpose de la matrice.
|
protected MatrixND |
wrap(MatrixND m)
Les matrices retournees par cette classe doivent etre wrapper pour que
les semantiques continues de fonctionner
|
protected MatrixND matrix
protected SemanticsDecorator decorator
protected List[] cacheSemantics
public MatrixSemanticsDecorator(MatrixND matrix, SemanticsDecorator decorator)
matrix - La matrice dont il faut decorer les semantiquesdecorator - l'objet utilise pour la decorationpublic int getNumberOfAssignedValue()
MatrixNDgetNumberOfAssignedValue in interface MatrixNDprotected MatrixND wrap(MatrixND m)
m - public MatrixFactory getFactory()
MatrixNDgetFactory in interface MatrixNDMatrixFactoryMatrixFactorypublic List[] getSemantics()
MatrixNDgetSemantics in interface MatrixNDpublic List getSemantics(int dim)
MatrixNDgetSemantics 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 semantiquepublic <E> void setSemantics(int dim,
List<E> sem)
MatrixNDsetSemantics 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 void setDimensionName(String[] names)
MatrixNDsetDimensionName in interface MatrixNDnames - names to setpublic void setDimensionNames(String[] names)
MatrixNDsetDimensionNames in interface MatrixNDnames - names to setpublic String[] getDimensionName()
MatrixNDgetDimensionName in interface MatrixNDpublic String[] getDimensionNames()
MatrixNDgetDimensionNames in interface MatrixNDpublic 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 nompublic double getMaxOccurence()
MatrixNDgetMaxOccurence in interface MatrixNDpublic double getMaxOccurrence()
MatrixNDgetMaxOccurrence in interface MatrixNDpublic int getNbDim()
MatrixNDpublic int getDimCount()
MatrixNDgetDimCount in interface MatrixNDpublic int[] getDim()
MatrixNDpublic int getDim(int d)
MatrixNDpublic int size()
MatrixNDpublic MatrixIterator iterator()
MatrixNDpublic MatrixIterator iteratorNotZero()
MatrixNDiteratorNotZero in interface MatrixNDpublic MatrixND map(MapFunction f)
MatrixNDpublic double getValue(int[] dimensions)
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 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 void setValue(int[] dimensions,
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 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 MatrixND copy()
MatrixNDpublic MatrixND clone()
MatrixNDpublic 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)
MatrixNDpublic MatrixND paste(int[] origin, MatrixND mat)
MatrixNDpublic MatrixND pasteSemantics(MatrixND mat)
MatrixNDpasteSemantics in interface MatrixNDmat - matrix to pastepublic 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 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... elem)
MatrixNDgetSubMatrix in interface MatrixNDdim - la dimension dans lequel on veut une sous matriceelem - 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(Object[]... elem)
MatrixNDMatrixND.getSubMatrix(int, Object...) suivant
l'implémentation.getSubMatrix in interface MatrixNDelem - les é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)
MatrixNDpublic MatrixND minus(MatrixND m)
MatrixNDpublic MatrixND transpose()
MatrixNDpublic MatrixND reduce()
MatrixNDpublic MatrixND reduce(int minNbDim)
MatrixNDpublic MatrixND reduceDims(int... dims)
MatrixNDreduceDims in interface MatrixNDdims - les dimensions sur lequel il faut faire la reductionpublic MatrixND mult(MatrixND m)
MatrixNDpublic MatrixND mults(double d)
MatrixNDpublic MatrixND divs(double d)
MatrixNDpublic MatrixND adds(double d)
MatrixNDpublic MatrixND minuss(double d)
MatrixNDpublic List<?> toList()
MatrixNDpublic void fromList(List<?> list)
MatrixNDpublic boolean isSupportedCSV()
MatrixNDisSupportedCSV in interface MatrixNDpublic void importCSV(Reader reader, int[] origin) throws IOException
MatrixNDimportCSV in interface MatrixNDreader - le reader à importerorigin - le point à partir duquel il faut faire l'importationIOExceptionpublic void importCSV(Reader reader, int[] origin, String matrixName) throws IOException
MatrixNDimportCSV 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
MatrixNDimportCSV in interface MatrixNDfile - file to readorigin - le point à partir duquel il faut faire l'importationIOExceptionpublic void exportCSV(Writer writer, boolean withSemantics) throws IOException
MatrixNDexportCSV in interface MatrixNDwriter - le writer ou copier la matricewithSemantics - export ou pas des semantiques de la matrice dans le
writerIOExceptionpublic void exportCSVND(Writer writer, boolean withSemantics) throws IOException
MatrixNDexportCSVND in interface MatrixNDwriter - le writer ou copier la matricewithSemantics - export ou pas des semantiques de la matrice dans le
writerIOExceptionpublic boolean equalsValues(MatrixND mat)
MatrixNDequalsValues in interface MatrixNDCopyright © 2004–2020 Code Lutin. All rights reserved.