0

同じサイズのベクトルが 2 つあります。最初のものは任意の順序で任意の異なる数を持つことができ、2 つ目は減少し (ただし同じ要素を持つことができます)、正の整数のみで構成されます。例えば:

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 に答える