sandeshMC

FUZZY CONTROLLER

Apr 10th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.31 KB | None | 0 0
  1.  
  2. import java.util.*;
  3.  
  4. public class WashingMachine {
  5.  
  6.     /**
  7.      * @param args the command line arguments
  8.      */
  9.     public static void main(String[] args) {
  10.         Scanner sc = new Scanner(System.in);
  11.         System.out.println("Enter the Value(Between 1-100) for Dirt and Grease :");
  12.         double d = sc.nextDouble();
  13.         double g = sc.nextDouble();
  14.         double sd = 0, md1 = 0, md2 = 0, ld = 0;
  15.         double sg = 0, mg1 = 0, mg2 = 0, lg = 0;
  16.         double vl = 0, l1 = 0, l2 = 0, m1 = 0, m2 = 0, h1 = 0, h2 = 0, vh = 0;
  17.         if (d >= 0 && d < 50) {
  18.             sd = (50 - d) / 50;
  19.             md1 = d / 50;
  20.         }
  21.         if (d >= 50 && d <= 100) {
  22.             ld = (d - 50) / 50;
  23.             md2 = (100 - d) / 50;
  24.         }
  25.         if (g >= 0 && g < 50) {
  26.             sg = (50 - g) / 50;
  27.             mg1 = g / 50;
  28.         }
  29.         if (g >= 50 && g <= 100) {
  30.             lg = (g - 50) / 50;
  31.             mg2 = (100 - g) / 50;
  32.         }
  33. //      System.out.println(sd+" "+md1+" "+md2+" "+ld+" ");
  34. //      System.out.println(sg+" "+mg1+" "+mg2+" "+lg+" ");
  35.         double rst1[][] = {{3, 2, 4}, {1, 2, 5}, {2, 4, 5}};
  36.         double rst[][] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}};
  37.         if (sd != 0 && sg != 0 && sd <= sg) {
  38.             rst[0][0] = sd;
  39.         }
  40.         if (sd != 0 && sg != 0 && sg <= sd) {
  41.             rst[0][0] = sg;
  42.         }
  43.         if (md1 != 0 && mg1 != 0 && md1 <= mg1) {
  44.             rst[1][1] = md1;
  45.         }
  46.         if (md1 != 0 && mg1 != 0 && mg1 <= md1) {
  47.             rst[1][1] = mg1;
  48.         }
  49.         if (md2 != 0 && mg2 != 0 && md2 <= mg2) {
  50.             rst[1][1] = md2;
  51.         }
  52.         if (md2 != 0 && mg2 != 0 && mg2 <= md2) {
  53.             rst[1][1] = mg2;
  54.         }
  55.         if (md1 != 0 && mg2 != 0 && mg2 <= md1) {
  56.             rst[1][1] = mg2;
  57.         }
  58.         if (md1 != 0 && mg2 != 0 && md1 <= mg2) {
  59.             rst[1][1] = md1;
  60.         }
  61.         if (md2 != 0 && mg1 != 0 && mg1 <= md2) {
  62.             rst[1][1] = mg1;
  63.         }
  64.         if (md2 != 0 && mg1 != 0 && md2 <= mg1) {
  65.             rst[1][1] = md2;
  66.         }
  67.         if (ld != 0 && lg != 0 && ld <= lg) {
  68.             rst[2][2] = ld;
  69.         }
  70.         if (ld != 0 && lg != 0 && lg <= ld) {
  71.             rst[2][2] = lg;
  72.         }
  73.         if (ld != 0 && sg != 0 && ld <= sg) {
  74.             rst[2][0] = ld;
  75.         }
  76.         if (ld != 0 && sg != 0 && sg <= ld) {
  77.             rst[2][0] = sg;
  78.         }
  79.         if (sd != 0 && lg != 0 && sd <= lg) {
  80.             rst[0][2] = sd;
  81.         }
  82.         if (sd != 0 && lg != 0 && lg <= sd) {
  83.             rst[0][2] = lg;
  84.         }
  85.         if (md1 != 0 && sg != 0 && md1 <= sg) {
  86.             rst[1][0] = md1;
  87.         }
  88.         if (md1 != 0 && sg != 0 && sg <= md1) {
  89.             rst[1][0] = sg;
  90.         }
  91.         if (md2 != 0 && sg != 0 && md2 <= sg) {
  92.             rst[1][0] = md2;
  93.         }
  94.         if (md2 != 0 && sg != 0 && md2 <= sg) {
  95.             rst[1][0] = md2;
  96.         }
  97.         if (md2 != 0 && lg != 0 && md2 <= lg) {
  98.             rst[1][2] = md2;
  99.         }
  100.         if (md2 != 0 && lg != 0 && lg <= md2) {
  101.             rst[1][2] = lg;
  102.         }
  103.         if (md1 != 0 && lg != 0 && md1 <= lg) {
  104.             rst[1][2] = md1;
  105.         }
  106.         if (md1 != 0 && lg != 0 && lg <= md1) {
  107.             rst[1][2] = lg;
  108.         }
  109.         if (mg1 != 0 && sd != 0 && mg1 <= sd) {
  110.             rst[0][1] = mg1;
  111.         }
  112.         if (mg1 != 0 && sd != 0 && sd <= mg1) {
  113.             rst[0][1] = sd;
  114.         }
  115.         if (mg2 != 0 && sd != 0 && mg2 <= sd) {
  116.             rst[0][1] = mg2;
  117.         }
  118.         if (mg2 != 0 && sd != 0 && mg2 <= sd) {
  119.             rst[0][1] = mg2;
  120.         }
  121.         if (mg2 != 0 && ld != 0 && mg2 <= ld) {
  122.             rst[2][1] = mg2;
  123.         }
  124.         if (mg2 != 0 && ld != 0 && ld <= mg2) {
  125.             rst[2][1] = ld;
  126.         }
  127.         if (mg1 != 0 && ld != 0 && mg1 <= ld) {
  128.             rst[2][1] = mg1;
  129.         }
  130.         if (mg1 != 0 && ld != 0 && ld <= mg1) {
  131.             rst[2][1] = ld;
  132.         }
  133.         double z = 0, z1 = 0, z2 = 0;
  134.         for (int i = 0; i < 3; i++) {
  135.             for (int j = 0; j < 3; j++) {
  136.                 if (z <= rst[i][j]) {
  137.                     z = rst[i][j];
  138.                 }
  139.             }
  140.         }
  141.         for (int i = 0; i < 3; i++) {
  142.             for (int j = 0; j < 3; j++) {
  143.                 if (z == rst[i][j]) {
  144.                     if (rst1[i][j] == 1) {
  145.                         z1 = 15 * z;
  146.                         z2 = 30 - 15 * z;
  147.                         z = (z1 + z2) / 2;
  148.                     }
  149.                     if (rst1[i][j] == 2) {
  150.                         z1 = 15 * z + 15;
  151.                         z2 = 45 - 15 * z;
  152.                         z = (z1 + z2) / 2;
  153.                     }
  154.                     if (rst1[i][j] == 3) {
  155.                         z = 15 - 15 * z;
  156.                     }
  157.                     if (rst1[i][j] == 4) {
  158.                         z1 = 15 * z + 30;
  159.                         z2 = 60 - 15 * z;
  160.                         z = (z1 + z2) / 2;
  161.                     }
  162.                     if (rst1[i][j] == 5) {
  163.                         z = 15 * z + 45;
  164.                     }
  165.                 }
  166.             }
  167.         }
  168.         System.out.println(z);
  169.     }
  170. }
  171.  
  172. /* Output :
  173. Enter the Value(Between 1-100) for Dirt and Grease :
  174. 60
  175. 60
  176. 30.0
  177.  */
Add Comment
Please, Sign In to add comment