PHP寫的求多項式導(dǎo)數(shù)的函數(shù)代碼
Jun 13, 2016 am 11:59 AM
復(fù)制代碼 代碼如下:
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";
?>
the output will be:
sample x values: -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
max derivative=26.000000
derivative=26.000000 when x=12.000000

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

在PHP中使用if/else控制結(jié)構(gòu)進行條件判斷時,應(yīng)遵循以下要點:1.在需要根據(jù)條件執(zhí)行不同代碼塊時使用if/else;2.條件為真執(zhí)行if分支,為假進入else或elseif;3.多條件判斷時elseif應(yīng)按邏輯順序排列,范圍大的放前面;4.避免嵌套過深,建議三層以上考慮switch或重構(gòu);5.始終使用花括號{}提高可讀性;6.注意布爾值轉(zhuǎn)換問題,防止類型誤判;7.簡單條件可用三元運算符簡化代碼;8.合并重復(fù)判斷減少冗余;9.測試邊界值確保邏輯完整。掌握這些技巧有助于提升代碼質(zhì)量與穩(wěn)定性。

要在本地電腦運行PHP網(wǎng)站需安裝PHP和Apache。Windows用戶下載Apache并配置httpd.conf,再下載PHP并修改配置文件加載PHP模塊;macOS/Linux用戶可用Homebrew或apt命令安裝。最后在網(wǎng)站根目錄創(chuàng)建info.php文件測試是否成功。

安裝PHP的關(guān)鍵在于明確使用場景和系統(tǒng)環(huán)境。一、確定操作系統(tǒng)和PHP版本:Windows可用XAMPP或WAMP,macOS推薦Homebrew,Linux通過apt/yum安裝,建議選擇8.1或8.2版本。二、本地開發(fā)環(huán)境搭建:推薦XAMPP、MAMP或Docker,也可用Homebrew安裝并用php-v驗證。三、服務(wù)器安裝PHP:以Ubuntu為例,執(zhí)行aptupdate及安裝命令并重啟Apache/Nginx,通過info.php測試運行。四、常見問題:注意擴展啟用、路徑一致、權(quán)限設(shè)置及

“undefinedindex”錯誤出現(xiàn)原因及避免方法:1.原因包括訪問未傳值的GET/POST參數(shù)、數(shù)組邏輯錯誤、變量索引未設(shè)置等;2.解決方法有使用isset()檢查鍵是否存在、使用array_key_exists()判斷、采用空合并運算符??提供默認值;3.開發(fā)建議包括統(tǒng)一參數(shù)校驗、開啟調(diào)試提示、查看數(shù)據(jù)結(jié)構(gòu)、利用IDE檢查功能。

PHP中使用多行注釋的正確方法是用/開始并以/結(jié)束,注釋內(nèi)容不會被解析器執(zhí)行。例如:/這是多行注釋,可寫入詳細說明/。多行注釋適用于解釋復(fù)雜邏輯、文檔化函數(shù)或類、為其他開發(fā)者留備注以及臨時禁用代碼塊。注意事項包括不可嵌套多行注釋、避免在注釋塊內(nèi)出現(xiàn)多余的*/。最佳實踐是保持注釋清晰簡潔,避免冗余,及時更新注釋,并可在函數(shù)前使用注釋描述功能、參數(shù)及返回值。

PHP字符串處理需掌握核心函數(shù)及場景。1.拼接用點號或.=,大量拼接推薦數(shù)組 implode;2.查找用strpos(),替換用str_replace(),注意區(qū)分大小寫及正則使用條件;3.截取用substr(),格式化用sprintf();4.輸出HTML用htmlspecialchars(),數(shù)據(jù)庫操作用參數(shù)化查詢。熟悉這些函數(shù)行為可應(yīng)對多數(shù)開發(fā)場景。

出現(xiàn)“undefinedindex”錯誤是因為嘗試訪問了數(shù)組中不存在的鍵。要解決這個問題,首先要確認數(shù)組鍵是否存在,可使用isset()或array_key_exists()函數(shù)檢查;其次確保表單數(shù)據(jù)正確提交,包括驗證請求方法和字段存在性;第三注意鍵名的大小寫敏感,避免拼寫錯誤;最后在使用$_SESSION、$_COOKIE等超全局數(shù)組時也應(yīng)先檢查鍵是否存在,以避免錯誤發(fā)生。

PHP變量聲明和使用需注意命名規(guī)則、類型轉(zhuǎn)換、作用域及引用賦值。1.變量名以$開頭,后跟字母或下劃線,區(qū)分大小寫,不可使用關(guān)鍵字或含空格;2.PHP自動識別變量類型,支持手動轉(zhuǎn)換,比較時建議用===確保類型一致;3.變量作用域分全局、局部與超全局,函數(shù)內(nèi)需global調(diào)用全局變量,常用超全局如$_GET、$_POST等;4.可變變量通過$$varName實現(xiàn)動態(tài)命名,引用賦值用&符號共享內(nèi)存地址,修改一方影響另一方。掌握這些細節(jié)能減少錯誤,提升代碼質(zhì)量。
