MATLAB查找置信区间内的数据点数

时间:2016-01-09 13:03:39

标签: matlab statistics

我在Matlab中有一组数据,一个矩阵6256x48,我找到了它的平均值,std dev和CI间隔。这是使用:

完成的
[muhat1,sigmahat1,muci1,sigmaci1] = normfit(data);

我的问题是,如何在muci1数组中的置信区间内找到原始数据的每列中的结果或数据点数。

muci1数组是2行48个点,顶行是下限,下行是上限。

1 个答案:

答案 0 :(得分:1)

data = rand(6258,48); %//data
[A,B]=size(data); %// size of your data
[muhat1,sigmahat1,muci1,sigmaci1] = normfit(data); %//stats of your data

mask(A,B)=0; %// create output mask
for ii = 1:B
    mask(:,ii) = data(:,ii)<muci1(2,ii)&data(:,ii)>muci1(1,ii); %// fill mask
end
FinalResult = sum(mask,1); %// number of points within CI per column
finalresult2 = sum(FinalResult); %// number of points within all CIs total

for循环在muci1给出的两个边界之间搜索每列中的条目。如果数字介于边界之间,则1中的数字为mask,否则会变为0