需要matlab中的hist命令后面的代码或逻辑

时间:2013-06-30 03:29:20

标签: java matlab equivalent

我需要帮助。我正在使用使用hist命令的matlab代码,我需要java等效代码或matlab中的hist函数背后的逻辑,以便我可以在java或c.Thanks中提前编码。

1 个答案:

答案 0 :(得分:1)

直方图的简单逻辑(假设你知道宽度恒定的箱子,并且你不需要最有效的代码):

float x[50]; // assumed to be array of data values
float binWidth, firstBin; // bins of width binWidth; first one centered on firstBin
int numBins; // number of bins
int *bins, tooSmall = 0, tooLarge = 0, ii, indx;

bins = (int*)calloc(numBins * sizeof(int)); // allocate, set to zero

for(ii = 0; ii < 50; ii++) {
  indx = floor((x[ii]-firstBin)/binWidth + 0.5);
  if (index < 0 ) {
    tooSmall++;
    }
    elseif (index >= numBins) {
      tooLarge++;
    }
    else {
      bins[indx]++;
    }
  }
}

最后,您在x中有一个数据的直方图,其中两个计数器对应于不适合该范围的数据(低于或超出范围)。

免责声明:无需编译器即可进行测试。看起来&#34;关于正确&#34; - 在依赖它之前在已知案例上进行测试。