美好的一天,
我正在尝试在matlab中创建一个标准化的直方图,其中包含每个bin中元素数量的误差。
所以如果我不对每个bin中元素数量的错误做任何事情,那么我的代码就可以工作了。我有一个250000个元素的数据集,实际上是50次测量的5000次重复,所以我先重塑它。顺便说一下,数据都是整数,通常是0,1或2,但有时会高一些。
ROdata = somedataset of 250000 values;
A = reshape(ROdata,50,5000);
% sums the values in every column
sums = sum(A);
% makes sure the bin ranges are from 0 to max in steps of 1
MAX = max(sums);
binranges = 0:1:MAX;
%determines the number of counts in each bin
bincounts1 = histc(sums,binranges);
%makes sure the distribution is normalized
bincounts2 = bincounts1 ./ sum(bincounts1);
%determine mean, sd of mean and chance of obtaining 0 counts
meanms1 = mean(sums);
sdms1 = std(sums);
figure
bar(binranges,bincounts2,'histc');
xlabel('Counts')
ylabel('Probability')
所以这很好,它创建直方图就像我想要的那样。但是我所拥有的数据集并不完美,它是一种受散粒噪声影响的测量,因此计数具有平方根(计数)的误差。
所以错误,我想从
开始进入sums
就是
sumserror = sqrt(sums);
但是,我不知道如何将其合并到脚本的其余部分中,因此仍然会考虑这些错误。谁能给我一个提示?