public static double minkowski(Wiersz obiekt1, Wiersz obiekt2, double p = 2) { double suma = 0; for (int i = 0; i < obiekt1.parametry.Count; i++) { suma = Math.Pow(Math.Pow(Math.Abs(obiekt1.parametry[i] - obiekt2.parametry[i]), p), 1 / p); } return(suma); }
public static double logarytm(Wiersz obiekt1, Wiersz obiekt2) { double suma = 0; for (int i = 0; i < obiekt1.parametry.Count; i++) { suma += Math.Abs(Math.Log(obiekt1.parametry[i]) - Math.Log(obiekt2.parametry[i])); } return(suma); }
public static double manhattan(Wiersz obiekt1, Wiersz obiekt2) { double suma = 0; for (int i = 0; i < obiekt1.parametry.Count; i++) { suma += Math.Abs(obiekt1.parametry[i] - obiekt2.parametry[i]); } return(suma); }
public static double euklides(Wiersz obiekt1, Wiersz obiekt2) { double suma = 0; for (int i = 0; i < obiekt1.parametry.Count; i++) { suma += Math.Pow(obiekt1.parametry[i] - obiekt2.parametry[i], 2); } return(Math.Sqrt(suma)); }
public static double czebyszew(Wiersz obiekt1, Wiersz obiekt2) { double suma = 0; for (int i = 0; i < obiekt1.parametry.Count; i++) { if (suma < Math.Abs(obiekt1.parametry[i] - obiekt2.parametry[i])) { suma = Math.Abs(obiekt1.parametry[i] - obiekt2.parametry[i]); } } return(suma); }
public static List <Wiersz> importData(string fileName) { string wiersz; string[] wierszSplit; List <Wiersz> allData = new List <Wiersz>(); System.IO.StreamReader file = new System.IO.StreamReader(fileName); while (file.ReadLine() != null) { List <double> parametry = new List <double>(); wiersz = file.ReadLine(); wierszSplit = wiersz.Split(' '); for (int i = 0; i < (wierszSplit.Length - 1); i++) { parametry.Add(double.Parse(wierszSplit[i], CultureInfo.InvariantCulture)); } Wiersz Obiekt = new Wiersz(parametry, int.Parse(wierszSplit[wierszSplit.Length - 1])); allData.Add(Obiekt); } file.Close(); return(allData); }