diff options
Diffstat (limited to 'src/tutorial/distancefunction')
-rw-r--r-- | src/tutorial/distancefunction/MultiLPNorm.java | 14 | ||||
-rw-r--r-- | src/tutorial/distancefunction/TutorialDistanceFunction.java | 10 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/tutorial/distancefunction/MultiLPNorm.java b/src/tutorial/distancefunction/MultiLPNorm.java index 6909d2ff..4dca1a93 100644 --- a/src/tutorial/distancefunction/MultiLPNorm.java +++ b/src/tutorial/distancefunction/MultiLPNorm.java @@ -72,14 +72,14 @@ public class MultiLPNorm extends AbstractVectorDoubleDistanceFunction { } @Override - public double doubleDistance(NumberVector<?, ?> o1, NumberVector<?, ?> o2) { + public double doubleDistance(NumberVector<?> o1, NumberVector<?> o2) { assert o1.getDimensionality() == ps.length : "Inappropriate dimensionality!"; assert o2.getDimensionality() == ps.length : "Inappropriate dimensionality!"; double sum = 0.0; for(int dim = 0; dim < ps.length; dim++) { if(ps[dim] > 0) { - final double delta = Math.abs(o1.doubleValue(dim + 1) - o2.doubleValue(dim + 1)); + final double delta = Math.abs(o1.doubleValue(dim) - o2.doubleValue(dim)); sum += Math.pow(delta, ps[dim]); } } @@ -87,14 +87,16 @@ public class MultiLPNorm extends AbstractVectorDoubleDistanceFunction { } @Override - public SimpleTypeInformation<? super NumberVector<?, ?>> getInputTypeRestriction() { - return new VectorFieldTypeInformation<NumberVector<?, ?>>(NumberVector.class, ps.length); + public SimpleTypeInformation<? super NumberVector<?>> getInputTypeRestriction() { + return new VectorFieldTypeInformation<NumberVector<?>>(NumberVector.class, ps.length); } /** * Parameterization class example * * @author Erich Schubert + * + * @apiviz.exclude */ public static class Parameterizer extends AbstractParameterizer { /** @@ -102,7 +104,7 @@ public class MultiLPNorm extends AbstractVectorDoubleDistanceFunction { * -multinorm.ps * </code> */ - public static final OptionID EXPONENTS_ID = OptionID.getOrCreateOptionID("multinorm.ps", "The exponents to use for this distance function"); + public static final OptionID EXPONENTS_ID = new OptionID("multinorm.ps", "The exponents to use for this distance function"); /** * P exponents @@ -123,4 +125,4 @@ public class MultiLPNorm extends AbstractVectorDoubleDistanceFunction { return new MultiLPNorm(ps); } } -}
\ No newline at end of file +} diff --git a/src/tutorial/distancefunction/TutorialDistanceFunction.java b/src/tutorial/distancefunction/TutorialDistanceFunction.java index 0b225c61..e41f8093 100644 --- a/src/tutorial/distancefunction/TutorialDistanceFunction.java +++ b/src/tutorial/distancefunction/TutorialDistanceFunction.java @@ -37,14 +37,14 @@ import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractVectorDoubleDistanc */ public class TutorialDistanceFunction extends AbstractVectorDoubleDistanceFunction { @Override - public double doubleDistance(NumberVector<?, ?> o1, NumberVector<?, ?> o2) { - double dx = (o1.doubleValue(1) - o2.doubleValue(1)); - double dy = (o1.doubleValue(2) - o2.doubleValue(2)); + public double doubleDistance(NumberVector<?> o1, NumberVector<?> o2) { + double dx = (o1.doubleValue(0) - o2.doubleValue(0)); + double dy = (o1.doubleValue(1) - o2.doubleValue(1)); return dx * dx + Math.abs(dy); } @Override - public SimpleTypeInformation<? super NumberVector<?, ?>> getInputTypeRestriction() { - return new VectorFieldTypeInformation<NumberVector<?, ?>>(NumberVector.class, 2); + public SimpleTypeInformation<? super NumberVector<?>> getInputTypeRestriction() { + return new VectorFieldTypeInformation<NumberVector<?>>(NumberVector.class, 2); } }
\ No newline at end of file |