0

我有两个相同大小的向量。第一个可以有任何顺序的任何不同数字,第二个是递减的(但可以具有相同的元素)并且仅由正整数组成。例如:

a = [7 8 13 6];
b = [5 2 2 1];

我想用以下方式绘制它们:在 x 轴上,我有来自向量的点,在 y 轴上,我有来自向量 b 的元素的总和,然后再除以 sum(b)。因此,我将有几点:

(7; 0.5) - 0.5 = 5/(5+2+2+1)
(8; 0.7) - 0.7 = (5+2)/(5+2+2+1)
(13; 0.9) ...
(6; 1) ...

我认为这种解释可能无济于事,因此我将图像包括在内在此处输入图像描述

因为这在我看来是一个累积分布函数,所以我试图用cdfplot来寻找运气,但没有成功。

我还有另一个选择是通过分别绘制每个线段来绘制图像,但我希望有更好的方法来做到这一点。

4

1 回答 1

3

我发现x轴上的值有点混乱。暂且不说,我认为这可以满足您的要求:

b = [5 2 2 1];
stairs(cumsum(b)/sum(b));
set(gca,'Ylim',[0 1])

如果您真的需要x轴上的这些值,只需重命名该轴的刻度:

a = [7 8 13 6];
set(gca,'xtick',1:length(b),'xticklabel',a)

还将grid on向情节添加网格

于 2013-08-02T23:59:25.697 回答