function polynomial_regression($points = array(), $degree) { $mX = array(); foreach ($points as $i => $point) { $x = 1; for ($j = 0; $j <= $degree; $j++) { $mX[$i][$j] = $x; $x *= $point['x']; } $mY[$i] = array($point['y']); } $left = matrix_invert(matrix_multiply(matrix_transpose($mX), $mX)); $right = matrix_multiply(matrix_transpose($mX), $mY); $coefficients = matrix_multiply($left, $right); foreach ($coefficients as &$c) { $c = $c[0]; } return $coefficients; }
function en($method, $s) { switch ($method) { case 'snd': $s = soundex($s); break; case 'bin': $s = bin_en($s); break; case 'dec': $s = dec_en($s); break; case 'oct': $s = oct_en($s); break; case 'hex': $s = hex_en($s); break; case 'bsd': $s = bsdconv(bsdconv_create($_POST['bsdconv']), $s) or addmsg(ERR, bsdconv_error()); break; case 'rot': $s = rotate($s, $_POST['rot'], $_POST['nrot']); break; case 'url': $s = $_POST['url_raw'] == 'on' ? rawurlencode($s) : urlencode($s); break; case 'raw': break; case 'stmwth': $s = strimwidth($s); break; case 'rpt': $s = str_repeat($s, $_POST['rpt']); break; case 'rev': $s = str_rev($s); break; case 'crv': $s = case_rev($s); break; case 'nbase': $s = base_conv($s, 0); break; case 'base': $s = base_en($s); break; case 'rep': $s = gen_rep($s); break; case 'pcr': $s = pcre_rep($s); break; case 'pcm': $s = pcre_mat($s); break; case 'spe': $s = htmlspecialchars($s); break; case 'hen': $s = mbs() ? mb_convert_encoding($s, 'HTML-ENTITIES') : htmlentities($s); break; case 'md5': $s = md5($s); break; case 'crypt': $s = crypt($s, $_POST['crypt_salt']); break; case 'sha1': $s = sha1($s); break; case 'crc16': $s = sprintf("%x", crc32($s)); break; case 'crc32': $s = sprintf("%x", crc32($s)); break; case 'srt': $s = mysort($s, 0); break; case 'stu': $s = mbs() ? mb_strtoupper($s) : strtoupper($s); break; case 'bbs': $s = bbs2html($s); break; case 'unq': $s = uniq($s, 0); break; case 'mut': $s = str_mutate($s); break; case 'ttb': $s = totable($s); break; case 'acc': $s = accumulation($s, 0); break; case 'stl': $s = mbs() ? mb_strtolower($s) : strtolower($s); break; case 'ucw': $s = ucwords($s); break; case 'ctr': $s = counter($s); break; case 'swd': $s = strwidth($s); break; case 'cor': $s = correct($s); break; case 'det': $s = determinant($s); break; case 'uue': $s = convert_uuencode($s); break; case 'msk': $s = network($s); break; case 'ref': $s = sqr_reflect($s); break; case 'che': $s = chewing($s); break; case 'rf': $s = sqr($s, 0); break; case 'cac': $s = cac_pre($s); break; case 'mmtp': $s = matrix_multiply($s); break; case 'mro': $s = matrix_rotate($s, 0); break; case 'miv': $s = matrix_inverse($s); break; case 'mtr': $s = matrix_transpose($s); break; case 'ascii': $s = ASCIIFilter($s); break; case 'key': $s = key_xor($_POST['key'], $s); break; case 'bre': $s = bit_rev($s); break; case 'bod': $s = bitorder_en($_POST['order'], $s); break; case 'tra': $s = tran($_POST['transpose'], $s, 2); break; case 'sta': $s = statistics($s); break; case 'quot': $s = quoted_printable_decode($s); break; default: addmsg(WARN, 'Undefined Method: ' . $method); } return $s; }