Advertisement
cdsatrian

prototype process2

Oct 4th, 2013
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.56 KB | None | 0 0
  1. <?php
  2. function show_matrix($m)
  3. {
  4.   $row=count($m);
  5.   $col=count($m[0]);
  6.   for($i=0;$i<$row;$i++)
  7.   {
  8.     if($col!=1)
  9.     {
  10.       for($j=0;$j<$col;$j++)
  11.       {
  12.         echo str_pad(round($m[$i][$j],5),12,' ',STR_PAD_BOTH);
  13.       }
  14.     }
  15.     else
  16.     {
  17.       echo str_pad(round($m[$i],5),12,' ',STR_PAD_BOTH);
  18.     }
  19.     echo "\n";
  20.   }
  21. }
  22.  
  23. function process_2($a,$b)
  24. {
  25.   $row=count($a);
  26.   $col=count($b[0]);
  27.   $com=count($b);
  28.   if(count($a[0])!=$com){throw new Exception('Incompatible matrixes');}
  29.   if($col!=1){
  30.     for ($i=0;$i<$row;$i++)
  31.     {
  32.       for ($j=0;$j<$col;$j++)
  33.       {
  34.         $result[$i][$j]=0;
  35.         for($k=0;$k<$com;$k++){
  36.           $result[$i][$j] += POW($a[$i][$k]-$b[$k][$j],2);
  37.         }
  38.         $result[$i][$j]=SQRT($result[$i][$j]);
  39.         echo $result[$i][$j]."\n";
  40.       }
  41.     }
  42.   }
  43.   else
  44.   {
  45.       for ($i=0;$i<$row;$i++)
  46.       {
  47.         $result[$i]=0;
  48.         for($k=0;$k<$com;$k++){
  49.           $result[$i] += POW($a[$i][$k]-$b[$k],2);
  50.           echo "POW(".$a[$i][$k]."-".$b[$k].",2)=".POW($a[$i][$k]-$b[$k],2)."+";
  51.         }
  52.         $result[$i]=SQRT($result[$i]);
  53.         echo "==>".$result[$i]."\n";
  54.       }
  55.  
  56.   }  
  57.   return $result;
  58. }
  59.  
  60. $data1 = array(
  61.   array( 2.1822, 4.36435, 1.0911),
  62.   array(1.20604, 1.20604, 3.61812),
  63.   array(1.7056, 2.5584, 2.5584)
  64. );
  65. $data2 = array(4.36435, 3.61812, 2.5584);
  66.  
  67. echo "<pre>Proses\n";
  68. $hasil=process_2($data1,$data2);
  69. echo "\ndata1\n";
  70. show_matrix($data1);
  71. echo "\ndata2\n";
  72. show_matrix($data2);
  73. echo "\nhasil\n";
  74. show_matrix($hasil);
  75. echo "</pre>";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement