2013-08-02 2 views
0

동일한 크기의 두 벡터가 있습니다. 첫 번째 것은 임의의 순서로 다른 숫자를 가질 수 있고 두 번째 것은 감소합니다 (그러나 동일한 요소를 가질 수 있음). 양의 정수로만 구성됩니다. 예를 들어matlab에 누적 분포 함수를 사용하지 마십시오

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

I는 다음과 같은 방식으로 플롯하려는이 점에 의해 분할 전에 I는 벡터로부터 Y 축에 포인트가 X 축의 I이 b 벡터의 요소들의 합이 합 (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) ... 

나는이 설명이 도움이되지 않을 수도 있다고 가정, 그래서 이것은 누적 분포 함수로 나에게 보이는 때문에 나는 이미지 enter image description here

을 포함, 나는 cdfplot 행운을 찾기 위해 노력 그러나 성공하지 못했습니다.

다른 옵션은 각 선분을 개별적으로 플로팅하여 이미지를 그리는 것이지만 더 좋은 방법이 있기를 바랍니다.

답변

2

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 그리드를 플롯에 추가합니다.

관련 문제