• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Dain

            寫出一個(gè)可以工作的程序并不夠

            統(tǒng)計(jì)

            留言簿(3)

            積分與排名

            良師益友

            閱讀排行榜

            評(píng)論排行榜

            統(tǒng)計(jì)函數(shù)NormSDist和NormSInv函數(shù)實(shí)現(xiàn)

            先說下今天寫VBA學(xué)到的,那就是Excel的統(tǒng)計(jì)工作表函數(shù)。
            Excel的統(tǒng)計(jì)工作表函數(shù)用于對(duì)數(shù)據(jù)區(qū)域進(jìn)行統(tǒng)計(jì)分析。例如,統(tǒng)計(jì)工作表函數(shù)可以用來統(tǒng)計(jì)樣本的方差、數(shù)據(jù)區(qū)間的頻率分布等。是不是覺得好像是很專業(yè)范疇的東西?是的,統(tǒng)計(jì)工作表函數(shù)中提供了很多屬于統(tǒng)計(jì)學(xué)范疇的函數(shù),但也有些函數(shù)其實(shí)在你我的日常生活中是很常用的,比如求班級(jí)平均成績,排名等。
            但是我的程序是要cpp實(shí)現(xiàn)上面?zhèn)z個(gè)函數(shù),可是cpp沒有這樣的統(tǒng)計(jì)函數(shù)。查了好多資料,找到了多項(xiàng)式近似的方法:
            /***************************************************************/
            /* 返回標(biāo)準(zhǔn)正態(tài)分布的累積函數(shù),該分布的平均值為 0,標(biāo)準(zhǔn)偏差為 1。                           */
            /***************************************************************/
            double NormSDist(const double z)
            {
             // this guards against overflow
             if(z > 6) return 1;
             if(z < -6) return 0;

             static const double gamma =  0.231641900,
                  a1  =  0.319381530,
                  a2  = -0.356563782,
                  a3  =  1.781477973,
                  a4  = -1.821255978,
                  a5  =  1.330274429;

             double k = 1.0 / (1 + fabs(z) * gamma);
             double n = k * (a1 + k * (a2 + k * (a3 + k * (a4 + k * a5))));
             n = 1 - Normal(z) * n;
             if(z < 0)
              return 1.0 - n;

             return n;
            }


            /***************************************************************/
            /* 返回標(biāo)準(zhǔn)正態(tài)分布累積函數(shù)的逆函數(shù)。該分布的平均值為 0,標(biāo)準(zhǔn)偏差為 1。
             
             
                              */
            /***************************************************************/
            double normsinv(const double p)
            {
             static const double LOW  = 0.02425;
             static const double HIGH = 0.97575;

             /* Coefficients in rational approximations. */
             static const double a[] =
             {
              -3.969683028665376e+01,
               2.209460984245205e+02,
              -2.759285104469687e+02,
               1.383577518672690e+02,
              -3.066479806614716e+01,
               2.506628277459239e+00
             };

             static const double b[] =
             {
              -5.447609879822406e+01,
               1.615858368580409e+02,
              -1.556989798598866e+02,
               6.680131188771972e+01,
              -1.328068155288572e+01
             };

             static const double c[] =
             {
              -7.784894002430293e-03,
              -3.223964580411365e-01,
              -2.400758277161838e+00,
              -2.549732539343734e+00,
               4.374664141464968e+00,
               2.938163982698783e+00
             };

             static const double d[] =
             {
              7.784695709041462e-03,
              3.224671290700398e-01,
              2.445134137142996e+00,
              3.754408661907416e+00
             };

             double q, r;

             errno = 0;

             if (p < 0 || p > 1)
             {
              errno = EDOM;
              return 0.0;
             }
             else if (p == 0)
             {
              errno = ERANGE;
              return -HUGE_VAL /* minus "infinity" */;
             }
             else if (p == 1)
             {
              errno = ERANGE;
              return HUGE_VAL /* "infinity" */;
             }
             else if (p < LOW)
             {
              /* Rational approximation for lower region */
              q = sqrt(-2*log(p));
              return (((((c[0]*q+c[1])*q+c[2])*q+c[3])*q+c[4])*q+c[5]) /
               ((((d[0]*q+d[1])*q+d[2])*q+d[3])*q+1);
             }
             else if (p > HIGH)
             {
              /* Rational approximation for upper region */
              q  = sqrt(-2*log(1-p));
              return -(((((c[0]*q+c[1])*q+c[2])*q+c[3])*q+c[4])*q+c[5]) /
               ((((d[0]*q+d[1])*q+d[2])*q+d[3])*q+1);
             }
             else
             {
              /* Rational approximation for central region */
                  q = p - 0.5;
                  r = q*q;
              return (((((a[0]*r+a[1])*r+a[2])*r+a[3])*r+a[4])*r+a[5])*q /
               (((((b[0]*r+b[1])*r+b[2])*r+b[3])*r+b[4])*r+1);
             }
            }

            posted on 2007-03-13 20:52 Dain 閱讀(4109) 評(píng)論(4)  編輯 收藏 引用 所屬分類: Computational Finance程序

            評(píng)論

            # re: 統(tǒng)計(jì)函數(shù)NormSDist和NormSInv函數(shù)實(shí)現(xiàn) 2007-04-17 14:50 yn

            請(qǐng)問這句話中的Normal是個(gè)什么函數(shù)?
            n = 1 - Normal(z) * n;  回復(fù)  更多評(píng)論   

            # re: 統(tǒng)計(jì)函數(shù)NormSDist和NormSInv函數(shù)實(shí)現(xiàn) 2007-04-17 18:18 Dain

            標(biāo)準(zhǔn)正態(tài)分布@yn
              回復(fù)  更多評(píng)論   

            # re: 統(tǒng)計(jì)函數(shù)NormSDist和NormSInv函數(shù)實(shí)現(xiàn) 2008-10-12 04:21 YL

            請(qǐng)問你這個(gè)Normal函數(shù)從哪里可以得到? 我就是想要一個(gè)算標(biāo)準(zhǔn)正太分布的函數(shù)
            謝謝  回復(fù)  更多評(píng)論   

            # re: 統(tǒng)計(jì)函數(shù)NormSDist和NormSInv函數(shù)實(shí)現(xiàn) 2010-05-14 18:06 WPXU

            多謝分享~~~  回復(fù)  更多評(píng)論   

            久久人人爽人人爽人人爽| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 久久影院午夜理论片无码| 久久高清一级毛片| 一本一本久久aa综合精品| 97久久精品国产精品青草| 国产一区二区精品久久凹凸| 久久中文字幕无码专区| 久久久久亚洲AV无码麻豆| 亚洲国产精品成人久久蜜臀| 好久久免费视频高清| 亚洲欧美精品一区久久中文字幕| 蜜臀av性久久久久蜜臀aⅴ| 久久露脸国产精品| 中文字幕亚洲综合久久| 一本色道久久88精品综合| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品国产99国产精品| 亚洲综合伊人久久大杳蕉| 久久精品免费大片国产大片| 久久国产精品成人影院| 久久只这里是精品66| 久久精品三级视频| 亚洲国产精久久久久久久| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 亚洲国产成人久久综合碰| 国产精品久久久久影院嫩草| 久久久国产视频| 亚洲国产成人乱码精品女人久久久不卡 | 九九久久精品无码专区| 久久亚洲国产欧洲精品一| 久久精品蜜芽亚洲国产AV| 亚洲精品美女久久久久99| 亚洲欧美一区二区三区久久| 亚洲国产成人久久综合野外| 久久精品国产72国产精福利| 国产激情久久久久影院小草| 青青草原综合久久大伊人精品| 久久精品亚洲日本波多野结衣| 亚洲AV无码久久| 久久Av无码精品人妻系列|