1

假设我有数据点:

a=2.3; 
b=5.3;
n=2000; % number of data blocks
data=a+(b-a)*rand(1,1000); % data points
x=[1:.1:7]; % x-axis

如何为此类 2000 个数据块绘制此数据的互补累积密度函数 (CCDF)?任何帮助。

4

1 回答 1

1
  1. 按照与此类似问题的答案相同的方法,您可以data像这样绘制 CCDF:

    plot(sort(data), linspace(1-1/length(data), 0, length(data)))
    

    这给出了每个数据点的 CCDF 值(介于 0 和 1 之间),通过简单地计算大于该值的值的比例(这就是linspace部分:对于第一个点,所有值都大于一个,... ,对于最后一点没有更大的值)。

    在此处输入图像描述

  2. 如果您需要一组固定点的 CCDF ,x使用该问题的其他答案的方法:

    x = [1:.1:7];
    y = mean(bsxfun(@gt, data.', x));
    plot(x, y)
    

    现在y是大于 中每个点的值的比例x。在这种情况下,必须明确确定比例,这可以通过 有效地完成bsxfun

在此处输入图像描述

于 2013-11-11T11:56:07.013 回答