2013-04-22 3 views
1

해결 된 행렬의 크기에 따라 2 알고리즘의 계산 시간 비용을 플로팅하는 작업이있었습니다.Matlab의 매트릭스 플로팅

내가 지금까지 한 것은 모든 알고리즘 x 시간을 수행하고 시간을 저장하는 방법으로 만들었습니다. 결국

는, I는 같은 매트릭스를 가지고있다 : 첫 번째 행의 크기는 20 × 20의 매트릭스에 대한 2 개 알고리즘의 계산량, 두 번째 행의 비용되면서

T = 

1.248008000000027e-003 9.360059999994519e-004 
7.488048000004710e-003 1.456009333332986e-002 
4.992032000000109e-002 2.808017999999492e-002 
1.809611600000039e-001 1.489809550000018e-001 
5.740836800000352e-001 5.865637599999672e-001 
4.748670439999978e+000 4.714350220000005e+000 

2 알고리즘을 사용하여 40x40 크기의 매트릭스를 만든 다음 80x80, 160x160, 320x320 및 640x640의 매트릭스를 만듭니다.

두 열이 거의 같은 이유는 두 번째 알고리즘을 작성하지 않고 첫 번째 알고리즘을 두 번 사용했기 때문입니다.

지금해야 할 일은 증가하는 행렬 크기에 따라 같은 그림에서 2 개의 알고리즘 비용을 계획하는 것입니다. 그러나 난 음모 구문에 머물고있어, 나는 예쁜 그림을 얻지 못하고있다. 아무도 도와 줄 수 있습니까?

+0

당신은 우리에게 당신이 시도와 실패 코드를 게재 할 수 있습니까? – Dan

답변

1

어떻게

T = [ 
    1.248008000000027e-003 9.360059999994519e-004 
    7.488048000004710e-003 1.456009333332986e-002 
    4.992032000000109e-002 2.808017999999492e-002 
    1.809611600000039e-001 1.489809550000018e-001 
    5.740836800000352e-001 5.865637599999672e-001 
    4.748670439999978e+000 4.714350220000005e+000]; 


figure, hold on 

% column 1 
plot(1:size(T,1), T(:,1), 'r.-'); 

% column 2 
plot(1:size(T,1), T(:,2), 'b.-'); 

% nicer labels at the X-tick locations 
set(gca, 'xticklabel', {... 
    '20×20',... 
    '40×40',... 
    '80×80',... 
    '160×160',... 
    '320×320',... 
    '640×640'}... 
); 

% finish plot 
grid on 
ylabel('Execution time required [s]') 
xlabel('Matrix size [-]') 

legend(... 
    'Algorithm 1',... 
    'Algorithm 2',... 
    'location', 'NorthWest'... 
); 

에 대한 결과 :

enter image description here

+0

감사합니다! 밖으로 나선, 나는 몇몇 것을 아주 잘 이해하지 못했다. 이것은 아름답게 작동합니다. – Sven

0

방법에 대한 그냥이 :

plot(T) 

하거나 X 값을 원하는 경우, X를 정의하고 첫 번째 열은 다른에 대한 첫 번째 알고리즘의 계산 시간에 속하는 경우

plot(x,T(:,1)) 
hold all 
plot(x,T(:,2)) 
0

크기 및 두 번째 열이 두 번째 알고리즘의 계산 시간에 속해 있으면 다음과 같이 계산할 수 있습니다.

저장된 계산 시간에 대한 행렬은 시간 계산

figure(1) 

plot(TimeComputation(:,1),'-.r') 

hold on 

plot(TimeComputation(:,2),'--.b') 

legend('Function 1','Function 2') 

궁금한 사항이 있으면 알려주세요.

+1

중괄호'{}'단추를 사용하여 코드의 서식을 지정하십시오. –

+0

고마워요, 이것은 밑에있는 제안과 거의 같지만 그 중 하나가 더 광대합니다. – Sven

관련 문제