看公式,可以推断出计算标准差分为几步:
计算平均值u=(x1+x2+...+xn)/n
计算方差s²=((x1-u)^2 +(x2-u)^2 +...+(xn-u)^2)/n
计算标准差σ=sqrt(s²)
/** * 求平均值 */double average(double *x, int len){ double sum = 0; for (int i = 0; i < len; i++) // 求和 sum += x[i]; return sum/len; // 得到平均值}
/** * 求方差 */double variance(double *x, int len){ double average = average(x, len); for (int i = 0; i < len; i++) // 求和 sum += pow(x[i] - average, 2); return sum/len; // 得到平均值}
/** * 求标准差 */double average(double *x, int len){ double variance = variance(x, len); return sqrt(variance); // 得到标准差}
最后,注意double *x在使用后的释放问题,遵循"谁申请谁释放"(new[]/delete[])原则
if(NULL != x) { delete[] x; x = NULL; }
作者:ThinkinLiu
链接:https://www.jianshu.com/p/dc5cb1346d7d
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦