我从cdf函数中得到了一个奇怪的图形。如果我使用ecdf,我会得到我期望的图表。但是我得到一个混乱的混乱,看起来它包含正确的数据,但是在一些错误的顺序。
SNR = exprnd(1,1000,1);
Cap = 1*log2(1+SNR); % unit bandwidth
[f,x] = ecdf(Cap);
figure(2);
plot( x,f);
cdf_Cap = cdf('Exponential', Cap, 1);
figure(3);
plot( Cap, cdf_Cap);
figure(4);
cdfplot(Cap);
图2显示了预期结果:
和图3显示:
我确定它是正确的数据,只需要某种绝对功能或排序功能。我只是不知道会是什么。任何帮助将非常感激。
答案 0 :(得分:4)
看起来Cap
并非单调增加。我想你可以在绘图之前对它进行排序。
在figure(3)
上,将其替换为:
plot( Cap, cdf_Cap);
有了这个:
[~, idx] = sort(Cap);
plot( Cap(idx), cdf_Cap(idx));
现在数据将以正确的顺序绘制。