Advertisement
tangedyn

PSI

Jun 20th, 2013
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.28 KB | None | 0 0
  1. package com.example;
  2.  
  3. public class PSI {
  4.     public static void main(String args[]) {
  5.  
  6.         int averages[] = new int[] { 0, 0, 137, 128, 122, 131, 153, 198, 299, 371, 355, 312, 253, 268 };
  7.         int readings[] = new int[averages.length];
  8.         int diffs[] = new int[averages.length];
  9.        
  10.         double bestScore = Integer.MAX_VALUE;
  11.        
  12.         for (int i = 0; i < 300; i++) {
  13.             readings[0] = i;
  14.             for (int j = 0; j < 300; j++) {
  15.                 readings[1] = j;
  16.                 for (int k = 2; k < readings.length; k++) {
  17.                     readings[k] = averages[k] * 3 - readings[k-1] - readings[k-2];
  18.                 }
  19.                 double sumsq = 0;
  20.                 for (int k = 1; k < readings.length; k++) {
  21.                     diffs[k] = readings[k] - readings[k-1];
  22.                 }
  23.                 for (int k = 2; k < readings.length; k++) {
  24.                     double diff = diffs[k] - diffs[k-1];
  25.                     sumsq += Math.pow(Math.abs(diff), 2);
  26.                 }
  27.                 if (sumsq < bestScore) {
  28.                     bestScore = sumsq;
  29.                     System.out.println("New best score " + sumsq + " " + readings[0] + " : " + readings[1]);
  30.                 }
  31.             }
  32.         }
  33.        
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement