如果你具有數學知識背景,你可能已經意識到PHP中並不具備處理高等數學概念——複雜數字、分數、多項式、統計資料和矩陣——的特殊函數。
但是,這種缺陷可以由PEAR,PHP擴充和應用庫來填補,它提供大量處理複雜數學單位的現成資料包。這些資料包為應用程式開發人員提供一個穩健、經過良好測試的程式碼程式庫,同時協助你節省構造出你自己的數學演算法所需的時間和精力。
本文列出開發人員在其項目中處理複雜數學問題時特別感興趣的10個PEAR資料包(表A)。查看並嘗試一下——你可能不會知道,你也許會為你當前面對的問題找到解決辦法。不過有一個警告:如果你上學時不喜歡數學課,下面的內容可能會讓你恢複一些令人不快的回憶。
注:你可以按這裡提供的指示,直接從網路上安裝PEAR資料包。
表A
類名稱 |
說明 |
Math_Complex |
這個類讓你對複雜的數(包含實數和虛數的數)執行基本的進階算術運算。它包含一個物件導向的介面,支援對這些數的三角和對數運算。 在對複雜數執行三角、雙曲線或指數運算時使用這個類。 |
Math_Fraction |
這個類允許你把分數的分子和分母當作類的自變數,從而產生“分數對象”。它包含分數的加、減、乘、除和計算倒數的方法,還可以比較兩個或兩個以上的分數,從中找出最大值。 在PHP中需要處理分數值時使用這個類。 |
Math_Derivative |
導數是指某個指定的函數相應其自變數的變動率,它是微積分中最重要的概念之一。這個類提供一個物件導向的架構,找出任何數學運算式在指定水平下的導數。它支援基本運演算法則(加、減、乘、除)和一個加速推導的快取。 處理導數時使用這個類。 |
Math_Polynomial |
多項式由幾個運算式組成,每個自變數的指數各不相同。這個類提供解決多項式等式所需的各種工具,包括對多項式執行基本算術運算、計算多項式的導數和次數、以及求多項式在自變數取特定值時的值。 使用這個類來簡化複雜的多項式等式。 |
Math_Matrix |
這個類提供一個物件導向的架構來完成包含矩陣的算術運算。這時,矩陣由一系列數組表示;這個類對這些數組進行加、減、乘、除;確定數組是否為平方;並計算重要的矩陣值,如行列式和模子。 當你需要處理數字矩陣時使用這個類。 |
Math_Fibonacci |
斐波納奇序列是一個串連的序列數字,它由一位意大利數學最早發現。這個類提供計算一個或幾個序列成員的方法,偽隨機數字產生器、視覺藝術和音樂這樣的應用程式通常需要完成此類操作。它還可以用來檢測某個整數是否屬於斐波納奇序列。 當你需要計算和處理斐波納奇數字時可使用這個類。 |
Math_Vector |
這個類提供一個處理向量的物件導向的架構。它支援重要的向量計算,如計算向量間的距離(卡笛爾、曼哈頓和棋盤);逆轉、轉變、縮放和常化向量;以及計算向量的長度和量值。 在二維或三維空間需要執行向量計算時使用這個類。 |
Math_BinaryUtils |
這個類提供一個處理位元據的架構,包括在大位元組序、小位元組序、十進位、整數和十六進位格式之間進行轉換;封裝和開啟選項;以及輕鬆加減位元字的能力。 需要執行位元字時使用這個類。 |
Math_Stats |
這個類提供一組變化多樣的實用函數,對一個資料集進行統計分析。其功能包括計算平均值(標準、內四分位、調和、幾何)、中值和眾數;找出標準、絕對和內四分位差;計算變差係數、原始矩以及計算分布的偏斜和峰態。 當你需要對一個資料集進行快速的基本統計分析時使用這個類。 |
Math_Histogram |
這個類通過對一個數字資料集合進行分類並描繪一個圖形化的頻率分布圖,從而對其進行統計分析。它的作用包括定義“箱”,給箱分配資料點,以及在二維或三維空間中以數字或圖形方式產生一個柱狀資料集分布圖。 使用這個類瞭解一個資料集的分布頻率。 |