⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 math_utils.cpp

📁 神经网络是序列预测,C++实现
💻 CPP
字号:
#include "math_utils.hpp"double mean(double* x, const int& length) {  double sum = 0.0;  for(int i=0;i<length;i++)    if(isnan(x[i])) {      return NAN;    } else {      sum+=x[i];    }  return sum/length;}void meanDiff(double *ans, double *x, const int& length) {	  double x_mean = mean(x,length);	  for(int i = 0;i < length; i++) {    ans[i] = x[i] - x_mean;  }}double max(double *vec, const int& length) {  double ans = NAN;  for(int i = 0; i < length; i++) {    if(isnan(vec[i])) {      return NAN;    } else {      // if value is not NA      // and we have not initialized ans yet      if(isnan(ans)) {        ans = vec[i];      } else if(vec[i] > ans) {        ans=vec[i];      }    }  }  return ans;}double min(double *vec, const int& length) {  double ans = NAN;  for(int i = 0; i < length; i++) {    if(isnan(vec[i])) {      return NAN;    } else {      // if value is not NA      // and we have not initialized ans yet      if(isnan(ans)) {        ans = vec[i];      } else if(vec[i] < ans) {        ans=vec[i];      }    }  }  return ans;}/* rank = 1 is the lowest rank   rank = length is the highest*/int rank(double *vec, const int& length) {  double currentValue = vec[length - 1];  int ans = 1;	  for(int i=0;i < (length-1); i++) {    if(isnan(currentValue)) return -1;    if(currentValue >= vec[i]) ans++;  }  return ans;}double cor(double *x, double *y, const int& length) {  double sd_x = stdev(x,length);  double sd_y = stdev(y,length);  double cov_xy = cov(x,y,length);  return (cov_xy / (sd_x*sd_y));}double cov(double *x, double *y, const int& length) {  double xm, ym, sum;  xm = mean(x,length);  ym = mean(y,length);   sum = 0;  for(int i = 0; i < length; i++) {    sum += (x[i] - xm)*(y[i] - ym);  }	  return sum/(length-1);}double stdev(double *x, const int& length) {  double x_mean = mean(x,length);  double sum = 0;  for(int i = 0; i < length; i++) {    sum += pow(x[i] - x_mean,2);  }  return sqrt(sum/(length-1));	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -