2015-01-18 1 views
0

무한한 합계에 대한 계열의 누적 합계를 플롯하려하고 범례의 색을 그래프의 색과 일치시킬 수 없습니다. 내가 여기서 뭘 잘못하고 있는지 정말로 모르겠다. 내 코드는 다음과 같습니다 :범례 색 불일치

p = .99; 
k = 0:1:1000; 

geomSeries = p.^k; 

G = sum(geomSeries);  

figure; 
hold on; 
plot(k,G,'r'); 

h = cumsum(geomSeries); 
plot(k,h,'b'); 

xlim([k(1) k(end)]); 
ylim([0 G+10]); 

xlabel('Values of k'); 
ylabel('Cumulative sum'); 

title('Infinite series of p^k'); 

legend('Infinite sum','Finite series'); 

답변

2

전화 legend으로, 당신은 당신이 legend를 호출하기 전에 당신의 플롯을 모두 하나의 함수 호출에가 확인해야합니다. 따라서 하나의 함수 호출로 정규 기하 급수의 플롯과 누적 합계를 결합한 다음 그에 따라 을 호출하십시오. 또한 k은 벡터이고 G은 단일 숫자입니다. 내 생각 엔 k의 각 값을 G의 동일한 값으로 매핑하기를 원하므로 G도 벡터이어야합니다. 이와 같이

은 같은 것을 할 :

p = .99; 
k = 0:1:1000; 

geomSeries = p.^k; 

%// NEW - Compute all terms first 
G = sum(geomSeries);  
h = cumsum(geomSeries); 

%// NEW - Combine terms into one plot 
%// Also make sure `G` has the same number of terms as k 
figure; 
hold on; 
plot(k,G*ones(1,numel(k)),'r',k,h,'b'); 

xlim([k(1) k(end)]); 
ylim([0 G+10]); 

xlabel('Values of k'); 
ylabel('Cumulative sum'); 

title('Infinite series of p^k'); 
legend('Infinite sum','Finite series'); 

이 코드는 위의 수정으로 내가 무엇을 얻을 :

enter image description here