<?phpclass turev {var $ds = array('log(ax+b)' => 'd(ax+b)/(ax+b)','cos(ax+b)' => '-1*sin(ax+b)*d(ax+b)','sin(ax+b)' => '1*cos(ax+b)*d(ax+b)');function coklu_turev($fonksiyon) {// İşlev formatı: k(coklu)^n + k(coklu)^n vb ...$q = explode(" ",$fonksiyon);foreach ($q as $r => $s) {if (strlen($s) > 1) {$t = preg_match("/([0-9]+)\((.+)\)\^([0-9-])/",$s,$w);if (is_array($w)) {if ($w[3] == 1) {$c1 = $w[1];$c2 = $this->tekli_turev(str_replace("+"," + ",str_replace("-"," - ",$w[2])));$df[] = $c1*$c2."x^0";}elseif ($w[3] == 0) $df[] = 0;else {$c1 = $w[1]*$w[3];$pfin = $w[3]-1;$c2 = $this->tekli_turev(str_replace("+"," + ",str_replace("-"," - ",$w[2])));if (is_int($c2)) {$c3 = $c1*$c2;$df[] = $c3."(".$w[2].")^".$pfin;}else {$r = $c1."(".$w[2].")^".$pfin;$df[] = $r;}}}else{$df[] = $s;}}else{if($t==1){$df[] = " + ";}else{$df[] = $t;}}}return implode($df);}function tekli_turev($fonksiyon) {// İşlev formatı: kx^n + kx^n + kx^n$a = explode(" ",$fonksiyon);foreach ($a as $b => $c) {if (strlen($c) > 1) {$r = preg_match("/([0-9]+)x\^([0-9-]+)/",$c,$d);if (is_array($d)) {if ($d[2] > 1 or $d[2] < -1) $turev[] = ($d[1]*$d[2])."x^".($d[2]-1);elseif (abs($d[2]) == 1) $turev[] = $d[1];else array_pop($turev);unset($d);}else $turev[] = $c;}else $turev[] = $c;}return implode(" ",$turev);}}$t= new turev;echo $t->coklu_turev("3(x+b)^3 + 3(x+b)^3");echo "<br>";echo $t->tekli_turev("3x^2 + 3x^2 + 3x^2");
Çıktısı
9(x+b)^2 + 9(x+b)^26x^1 + 6x^1 + 6x^1