Heim > Artikel > Backend-Entwicklung > Funktionscode zum Finden von Polynomableitungen in PHP
In PHP geschriebener Funktionscode zum Finden von Polynomableitungen. Freunde, die ihn benötigen, können darauf zurückgreifen.
<?php function getDerivativeByFormulaAndXDATA($formula, $x_data){ $xArray = explode("+", $formula); $Derivative = 0; foreach ($xArray as $x_record) { $tmpArray = explode("x^", $x_record); if(count($tmpArray) == 2){ $coefficient = $tmpArray[0]==""?1:$tmpArray[0]; $exp = $tmpArray[1]; } //constant else { $coefficient = $tmpArray[0]; $exp = 0; } $Derivative += $coefficient*$exp*pow($x_data,$exp-1); } return $Derivative; } function getValueByFormulaAndXDATA($formula, $x_data){ $xArray = explode("+", $formula); $y_data = 0; foreach ($xArray as $x_record) { $tmpArray = explode("x^", $x_record); if(count($tmpArray) == 2){ $coefficient = $tmpArray[0]==""?1:$tmpArray[0]; $exp = $tmpArray[1]; } //constant else { $coefficient = $tmpArray[0]; $exp = 0; } $y_data += $coefficient*pow($x_data,$exp); } return $y_data; } function getMaxDerivativeByFormulaAndXDATAS($formula, $x_datas, &$matchs){ $derivatives = array(); $max_derivative = 0; foreach ($x_datas as $x_data) { $derivative = getDerivativeByFormulaAndXDATA($formula, $x_data); $derivatives[$x_data] = $derivative; $max_derivative = $max_derivative>=abs($derivative)?$max_derivative:abs($derivative); //printf("x=%f, derivative=%f \n",$x_data, $derivative); } $matchs = array(); foreach ($derivatives as $x_data=>$derivative) { if(abs($derivative) == $max_derivative){ $matchs[] = $x_data; } } printf("max derivative=%f\n",$max_derivative); foreach ($matchs as $x_match) { printf(" derivative=%f when x=%f\n",$derivatives[$x_match], $x_match); } } //notice the format of formula: ax^b if b=0 could omit except coefficient a, if a=1 could omit coefficient $formula = "x^2+2x^1+1"; print "The formula is $formula \n"; //printf("Derivative of 2 is %f \n",getDerivativeByFormulaAndXDATA($formula, 3.2)); //print getValueByFormulaAndXDATA($formula, 3.2)."\n"; $sampleData = array(-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8,9,10,11,12); foreach ($sampleData as $x_data) { $str.=$x_data.", "; } print "sample x values: $str \n"; getMaxDerivativeByFormulaAndXDATAS($formula, $sampleData, $matchs)."\n"; ?>
Die Ausgabe lautet:
Beispiel-x-Werte: -12, -11, -10, -. 9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
maximale Ableitung = 26,000000
Ableitung = 26,000000, wenn x = 12,000000
Ich hoffe, dass es für das Studium aller hilfreich ist Achtung auf die chinesische PHP-Website!
Verwandte Empfehlungen:
3 Möglichkeiten, Zufallszahlen in PHP zu generieren
So verwenden Sie PHP, um alle Rechte dynamisch zu generieren reserviert Art der Information
Das obige ist der detaillierte Inhalt vonFunktionscode zum Finden von Polynomableitungen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!