From c165b264218e1320d7ba1f74976aa2448a6b5b29 Mon Sep 17 00:00:00 2001 From: Albin Date: Wed, 23 Oct 2019 16:21:52 +0200 Subject: fix #4 och fix #2 --- Kod/bilbana/Graph/graphs_test.m | 17 +++++++++------- Kod/bilbana/Graph/segment_time_graph.m | 37 ++++++++++++++++++++++++++++------ 2 files changed, 41 insertions(+), 13 deletions(-) (limited to 'Kod/bilbana/Graph') diff --git a/Kod/bilbana/Graph/graphs_test.m b/Kod/bilbana/Graph/graphs_test.m index 3a2a2e5..451bbf1 100644 --- a/Kod/bilbana/Graph/graphs_test.m +++ b/Kod/bilbana/Graph/graphs_test.m @@ -1,11 +1,14 @@ %% Data needed -car1.seg_times = [3.9,1.1,2.2,1.8,1.4,3.9,1.5,3.4,1.4; - 4.2,1.1,2.2,1.8,1.4,3.4,1.5,3.4,1.4; - 3.2,1.1,2.2,1.8,1.4,3.2,1.5,3.4,1.4; - 4.0,1.4,2.2,1.8,1.4,3.4,1.5,3.4,1.4; - 4.0,1.1,2.2,1.8,1.4,3.6,1.5,3.4,1.4; - 4.1,1.1,2.2,1.8,1.4,3.8,1.5,3.4,1.4]; +A = [3.9,1.1,2.2,1.8,1.4,3.9,1.5,3.4,1.4; + 4.2,1.1,2.2,1.8,1.4,3.4,1.5,3.4,1.4; + 3.2,1.1,2.2,1.8,1.4,3.2,1.5,3.4,1.4; + 4.0,1.1,2.2,1.8,1.4,3.6,1.5,3.4,1.4; + 4.1,1.1,2.2,1.8,1.4,3.8, 0, 0, 0]; +B = [3.9,1.1,2.2,1.8,1.4,3.9, 0, 0, 0]; +C = [3.9,1.1,2.2,1.8,1.4,3.9,1.5,3.4,1.4; + 4.2,1.1,2.2,1.8,1.4,3.4, 0, 0, 0]; +car1.seg_times = C; car1.lap_times = [14.1,13.8,14.15,13.9,14.1,14]; ref_lap_time = 14; %% Actual test -graphs(car1.lap_times,ref_lap_time,car1.seg_times,1) \ No newline at end of file +graphs(car1.lap_times,ref_lap_time,car1.seg_times,7) \ No newline at end of file diff --git a/Kod/bilbana/Graph/segment_time_graph.m b/Kod/bilbana/Graph/segment_time_graph.m index 602938b..5ae0690 100644 --- a/Kod/bilbana/Graph/segment_time_graph.m +++ b/Kod/bilbana/Graph/segment_time_graph.m @@ -1,11 +1,36 @@ -function [] = segment_time_graph(seg_time, track) -%SEGMENT_TIME_GRAPH Snittid för varje segment. -seg_time_size = size(seg_time); -avr_seg_time = mean(seg_time(1:(seg_time_size(1) - 1), 1:(seg_time_size(2)))); -subplot(20, 1, 13:20); +function [] = segment_time_graph(seg_times, track) +%SEGMENT_TIME_GRAPH Stapeldiagram med snittid för varje segment. + %{ + Utgår ifrån en r*k matris (seg_times). I den finns segmenttider lagrade + enligt rad ~ varv och kollonn ~ segment. Funktionen summerar alla + kollonner och delar summan med antalet kolloner som inte har värdet 0. + Sedan ritas ett stapeldiagram där varje stapel motsvarar en kollon i + den nyligen beräknade 1*k matrisen. + %} +seg_time_size = size(seg_times); +divide_by_n = ones(1,seg_time_size(2)); +%% Summera seg_time om seg_time ~= 0 +for r = 1:seg_time_size(1) + if r == 1 + avr_seg_time(1:seg_time_size(2)) = seg_times(1:seg_time_size(2)); + else + for c = 1:seg_time_size(2) + x = seg_times(r,c); + if x ~= 0 + avr_seg_time(c) = avr_seg_time(c) + seg_times(r,c); + divide_by_n(c) = divide_by_n(c) + 1; + end + end + end +end +%% Ta medel av summan +for c =1:seg_time_size(2) + avr_seg_time(c) = avr_seg_time(c)/divide_by_n(c); +end +%% Rita +subplot(20, 1, 13:20); Plot = bar(avr_seg_time); -%Plot.Marker = 'o'; Plot.FaceColor = 'k'; xlabel('Segment'); ylabel('Tid [s]'); -- cgit v1.2.1