diff options
Diffstat (limited to 'Kod')
| -rw-r--r-- | Kod/bilbana/Graph/graphs_test.m | 17 | ||||
| -rw-r--r-- | Kod/bilbana/Graph/lap_time_graph.m | 6 | ||||
| -rw-r--r-- | Kod/bilbana/Graph/segment_time_graph.m | 39 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/main.m | 8 |
4 files changed, 47 insertions, 23 deletions
diff --git a/Kod/bilbana/Graph/graphs_test.m b/Kod/bilbana/Graph/graphs_test.m index 3a2a2e5..ddc3b64 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.1,1.0; + 4.1,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,5)
\ No newline at end of file diff --git a/Kod/bilbana/Graph/lap_time_graph.m b/Kod/bilbana/Graph/lap_time_graph.m index 8d54c6a..c21a0c5 100644 --- a/Kod/bilbana/Graph/lap_time_graph.m +++ b/Kod/bilbana/Graph/lap_time_graph.m @@ -40,13 +40,13 @@ hold off %% Standardavvkielse sigma = std(lap_times); sigma = round(sigma, 2); -sig_str = string(sigma); +sig_str = num2str(sigma); %% Text xlabel('Varv'); ylabel('Tid [s]'); -Tit = join(['Varvtider bana',string(track)]); +Tit = ['Varvtider bana ' num2str(track)]; title(Tit); -txt = join(['Standardavvikelse:',sig_str, 's/varv']); +txt = ['Standardavvikelse: ' sig_str ' s/varv']; annotation('textbox',[.1 0.5 .5 .05],'String',txt,'EdgeColor','none') end diff --git a/Kod/bilbana/Graph/segment_time_graph.m b/Kod/bilbana/Graph/segment_time_graph.m index 602938b..c32281a 100644 --- a/Kod/bilbana/Graph/segment_time_graph.m +++ b/Kod/bilbana/Graph/segment_time_graph.m @@ -1,15 +1,40 @@ -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,1:seg_time_size(2)) = seg_times(1,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]'); -tit = join(['Medeltid/segment bana',string(track)]); +tit = ['Medeltid/segment bana ' num2str(track)]; title(tit); end diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m index 04308bf..bfeaa60 100644 --- a/Kod/bilbana/yc4/main.m +++ b/Kod/bilbana/yc4/main.m @@ -42,7 +42,7 @@ tocs = []; %% ASK ACTIVE CARS disp('J = Ja (automatiskt), M = Ja (manuellt), N = Nej'); -car1.response = input('Vill du köra bil 1? [N] ', 's'); +car1.response = input('Vill du k�ra bil 1? [N] ', 's'); if car1.response == 'J' car1.running = true; car1.automatic = true; @@ -53,7 +53,7 @@ else car1.running = false; end -car2.response = input('Vill du köra bil 2? [N] ', 's'); +car2.response = input('Vill du k�ra bil 2? [N] ', 's'); if car2.response == 'J' car2.running = true; car2.automatic = true; @@ -114,8 +114,6 @@ while 1 car1.segment = 1; car1.lap = car1.lap + 1; - - car1.seg_times(car1.lap, 1) = 0; end end @@ -150,8 +148,6 @@ while 1 car2.segment = 1; car2.lap = car2.lap + 1; - - car2.seg_times(car2.lap, 1) = 0; end end |
