summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana/Graph
diff options
context:
space:
mode:
Diffstat (limited to 'Kod/bilbana/Graph')
-rw-r--r--Kod/bilbana/Graph/graphs_test.m17
-rw-r--r--Kod/bilbana/Graph/segment_time_graph.m37
2 files changed, 41 insertions, 13 deletions
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]');