使用参考曲线均值和标准值对新曲线数据进行比较和估算?

时间:2016-08-10 10:47:52

标签: matlab probability mean standard-deviation probability-density

这里我想比较两个不同涡轮机的功率曲线。让我们假设您有两个表tb1用于涡轮机1(有X =速度和X1 =功率值)和tb2用于涡轮机2(有y =速度和y1 =功率值。)现在有tb1数据的帮助;我计算了binEdge(使用X),然后进行了binning(使用x1),这样在std和mean值的帮助下我们知道了分布,你可以看到下面的代码:

binEdges = linspace(min(X),max(X),numBins); 
[N,binEdges] = histcounts(X, binEdges);

for i = 1:numBins
flagBinMembers = (binEdges == i); 
binMembers    = X1(flagBinMembers);
BinMean(i)    = mean(binMembers); 
BinStd(i)     = std(binMembers);
end

现在在tb2中,我想检查速度或y分布的值w.r.t高于计算的标准值和平均值。一旦我知道了位置或分布y或速度属于哪个,那么我想通过进行一些概率测试来估计其相应的功率值。这个功率可以用可用功率y1进一步验证,以查看天气估计功率值是否正确。 / p>

1 个答案:

答案 0 :(得分:1)

如果您有统计信息和机器学习工具箱,并且只需估算binMembers的参数,然后查看X1是否来自同一分布:

numBins = 5;
binEdges = linspace(min(X),max(X),numBins);
N = histcounts(X, binEdges);

for k = 1:numBins-1
    binMembers = X(X>=binEdges(k) & X<binEdges(k+1));
    if ~isempty(binMembers)
        is_X1_fit = ~chi2gof(X1,'CDF',makedist('Normal',...
            'mu',mean(binMembers),'sigma',std(binMembers)))
    else
            disp('bin is empty')
    end
end
如果is_X1_fit属于X1分布,

binMembers将返回1,否则返回0。