Mercurial > hg > jslab
annotate src/samer/mds/Minkowski.java @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | bf79fb79ee13 |
children |
rev | line source |
---|---|
samer@0 | 1 package samer.mds; |
samer@0 | 2 import samer.core.types.*; |
samer@0 | 3 import samer.maths.*; |
samer@0 | 4 |
samer@0 | 5 /** Minkowski metric */ |
samer@0 | 6 |
samer@0 | 7 public class Minkowski implements MDS.Metric { |
samer@0 | 8 VDouble exponent=new VDouble("exponent",1); |
samer@0 | 9 public Minkowski(double p) { exponent.set(p); } |
samer@0 | 10 public double d(double [] x, double [] y, double [] r) { |
samer@0 | 11 Mathx.sub(r,y,x); |
samer@0 | 12 double q=0, p=exponent.value; |
samer@0 | 13 for (int i=0; i<r.length; i++) q+=Math.pow(r[i],p); |
samer@0 | 14 return Math.pow(q,1/p); |
samer@0 | 15 } |
samer@0 | 16 } |