List of usage examples for org.apache.commons.math3.linear ArrayRealVector getDistance
@Override public double getDistance(RealVector v) throws DimensionMismatchException
From source file:Gravitation_package.SystemeDeParticules.java
public ArrayRealVector CalculerChampGravitationSurLieu(ArrayRealVector VecteurLieu) { /** Calcule le champ de (force de) gravitation un endroit donn parcourir toutes les particules// w ww. j a v a2s . c o m dterminer sa distance au lieu de calcul calculer sa force d'attraction sur le lieu (vecteur) retourner en vecteur la somme des vecteurs force **/ ArrayRealVector force = new ArrayRealVector(2); for (int indice = 0; indice < this.getLesParticulesDuSysteme().size(); indice++) { Particule uneParticule = (Particule) this.getLesParticulesDuSysteme().get(indice); ArrayRealVector vPos = new ArrayRealVector(2); vPos = uneParticule.getVectPosition(); double laDistanceAbsolue; laDistanceAbsolue = VecteurLieu.getDistance(vPos); if (laDistanceAbsolue != 0) { // force.setEntry(COORD_X,K*masse/pow(laDistanceAbsolue,2)*distanceX/laDistanceAbsolue); // force.setEntry(COORD_Y,K*masse/pow(laDistanceAbsolue,2)*distanceY/laDistanceAbsolue); force = (ArrayRealVector) vPos.mapDivide(laDistanceAbsolue); //else // force = new Vecteur2D(0,0); } } return force; }
From source file:syncleus.gremlann.train.Backprop.java
/** * //from w w w. j a v a 2s .c o m * @param input * @param expectedOutput * @param train * @return error rate */ public double associate(RealVector input, RealVector expectedOutput, boolean train) { brain.input(true, array(input)); ArrayRealVector o = brain.outputSignals(); double distance = o.getDistance(expectedOutput); if (train) { Set<Vertex> outputs = brain.traverseOutputNeurons().toSet(); int j = 0; for (Vertex outputNeuron : outputs) { double expected = expectedOutput.getEntry(j); double outputSignal = signal(outputNeuron); double dt = (expected - outputSignal) * getActivationFunction().activateDerivative(activity(outputNeuron)); set(outputNeuron, "deltaTrain", dt); j++; } brain.iterateNeuronsBackward(outputs, new Function<Vertex, Boolean>() { @Override public Boolean apply(Vertex f) { //if (isTrue(f,"input")) return false; backpropagate(f); return true; } }); } return distance; }