Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में सरणी मानों का मानक विचलन (Standard Deviation) ज्ञात करने का प्रोग्राम

मानक विचलन (Standard Deviation) डेटा के प्रसार (spread) को मापता है। PHP में इसे मैन्युअली गणना करके या सांख्यिकी एक्सटेंशन (stats_standard_deviation()) का उपयोग करके प्राप्त किया जा सकता है।

मैनुअल गणना उदाहरण

<?php
function std_deviation($my_arr) {
    $no_element = count($my_arr);
    $var = 0.0;
    $avg = array_sum($my_arr) / $no_element;

    foreach ($my_arr as $i) {
        $var += pow(($i - $avg), 2);
    }
    return (float) sqrt($var / $no_element);
}

$my_arr = array(67, 89, 93, 102, 4);
echo "The standard deviation of elements in the array is ";
print_r(std_deviation($my_arr));
?>

आउटपुट

The standard deviation of elements in the array is 35.423156268181

गणना चरण:

  1. औसत (Mean): array_sum($arr) / count($arr)
  2. विचरण (Variance): प्रत्येक मान के लिए ($value - $avg)^2 का योग, फिर तत्वों की संख्या से विभाजित।
  3. मानक विचलन: विचरण का वर्गमूल sqrt($variance)।

नमूना बनाम जनसंख्या मानक विचलन

  • जनसंख्या (Population): sqrt($var / $n) — जब डेटा पूरी जनसंख्या हो।
  • नमूना (Sample): sqrt($var / ($n - 1)) — जब डेटा नमूना हो (बेसल सुधार)।

उपरोक्त कोड जनसंख्या मानक विचलन गणना करता है।

बिल्ट-इन फ़ंक्शन (PECL stats एक्सटेंशन)

<?php
// stats एक्सटेंशन आवश्यक: pecl install stats
$arr = [67, 89, 93, 102, 4];
$sd_pop = stats_standard_deviation($arr); // जनसंख्या
$sd_samp = stats_standard_deviation($arr, true); // नमूना (दूसरा पैरामीटर true)
?>

विचरण के लिए array_reduce का उपयोग

<?php
function stdDev($arr) {
    $n = count($arr);
    $mean = array_sum($arr) / $n;
    $variance = array_reduce($arr, function($carry, $x) use ($mean) {
        return $carry + pow($x - $mean, 2);
    }, 0) / $n;
    return sqrt($variance);
}
?>

व्यावहारिक उपयोग

  • वित्तीय डेटा में अस्थिरता मापना।
  • गुणवत्ता नियंत्रण में उत्पाद स्थिरता जांचना।
  • परीक्षा अंकों का विश्लेषण।
  1. - PHP में array_count_values() फ़ंक्शन

    PHP में array_count_values() फ़ंक्शन सरणी में प्रत्येक मान की घटनाओं (occurrences) की गिनती करता है। एक सहयोगी सरणी लौटाता है जहाँ कुंजियाँ मूल सरणी के मान होते हैं और मान उनकी गिनती। सिंटैक्स (Syntax) array_count_values(array $arr): array पैरामीटर्स (Parameters) $arr − वह सरणी जिसके मानों की गि

  1. - C# प्रोग्राम: जांचें कि सरणी में डुप्लिकेट है या नहीं

    एक सरणी सेट करें: int[] arr = { 89, 12, 56, 89, }; अब, एक नया Dictionary बनाएं: var d = new Dictionary<int, int>(); डिक्शनरी विधि ContainsKey() का उपयोग करके, सरणी में डुप्लिकेट तत्व खोजें: foreach(var res in arr) { if (d.ContainsKey(res)) d[res]++; else

  1. - C# प्रोग्राम 2D सरणी में K-वां सबसे छोटा तत्व ढूंढने के लिए

    एक 2D सरणी घोषित करें: int[] a = new int[] { 65, 45, 32, 97, 23, 75, 59 }; मान लें कि आप Kवां सबसे छोटा यानी 5वां सबसे छोटा पूर्णांक चाहते हैं। पहले सरणी को सॉर्ट करें: Array.Sort(a); 5वां सबसे छोटा तत्व प्राप्त करने के लिए: a[k - 1]; आइए पूरा कोड देखें: उदाहरण using Sys