假设我有数据点:
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)?任何帮助。
假设我有数据点:
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)?任何帮助。
按照与此类似问题的答案相同的方法,您可以data
像这样绘制 CCDF:
plot(sort(data), linspace(1-1/length(data), 0, length(data)))
这给出了每个数据点的 CCDF 值(介于 0 和 1 之间),通过简单地计算大于该值的值的比例(这就是linspace
部分:对于第一个点,所有值都大于一个,... ,对于最后一点没有更大的值)。
如果您需要一组固定点的 CCDF ,请x
使用该问题的其他答案的方法:
x = [1:.1:7];
y = mean(bsxfun(@gt, data.', x));
plot(x, y)
现在y
是大于 中每个点的值的比例x
。在这种情况下,必须明确确定比例,这可以通过 有效地完成bsxfun
。