diff options
| author | Gustav Sörnäs <gusso230@student.liu.se> | 2019-11-28 12:42:10 +0100 |
|---|---|---|
| committer | Albin <albwa833@student.liu.se> | 2019-11-29 11:39:21 +0100 |
| commit | 597c8a5a23044ecdf67af76df93529ee0a3f6ba2 (patch) | |
| tree | 286b9111cbc8fa2cce15eead42a1d1c0aa37517c /Kod/bilbana | |
| parent | 1a989c55ec63460c38fa09f3922991ab48adca5e (diff) | |
| download | tfyy51-597c8a5a23044ecdf67af76df93529ee0a3f6ba2.tar.gz | |
Lägg till gammal car.forecasts
Diffstat (limited to 'Kod/bilbana')
| -rw-r--r-- | Kod/bilbana/yc4/do_car.m | 52 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/fit_percents.m | 2 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/main.m | 5 |
3 files changed, 31 insertions, 28 deletions
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m index cb3e934..ea7d901 100644 --- a/Kod/bilbana/yc4/do_car.m +++ b/Kod/bilbana/yc4/do_car.m @@ -98,45 +98,45 @@ if car.running == true %% CHECK POINT if car.new_check_point == true - disp(car) + disp(car) if car.new_lap == false % choose_position krachar vid nytt varv (seg 10) - if car.lap ~= 0 + if car.lap ~= 0 car.seg_times(car.lap, car.segment) = toc(car.seg_tic); - end - - lap_time_now = toc(car.lap_tic); - % s = vt - % v = s/t - % t = s/v - prev_seg_v = car.seg_len(car.segment) / toc(car.seg_tic); - track_remaining = car.pos_at(length(car.pos_at)) - car.pos_at(car.segment + 1); - forecast = lap_time_now + track_remaining/prev_seg_v; - - car.forecasts(car.lap, car.segment) = forecast; - + end + + lap_time_now = toc(car.lap_tic); + % s = vt + % v = s/t + % t = s/v + prev_seg_v = car.seg_len(car.segment) / toc(car.seg_tic); + track_remaining = car.pos_at(length(car.pos_at)) - car.pos_at(car.segment + 1); + car.forecasts(car.lap, car.segment) = lap_time_now + track_remaining/prev_seg_v; + + car.forecast_naive(car.lap, car.segment) = toc(car.seg_tic) / car.percents(car.segment) + car.segment = car.segment + 1; car.seg_tic = tic; - - if car.automatic && car.lap > 2 % S�kerhetsmarginal (B�r vara 1?) + + if car.automatic && car.lap > 2 % S�kerhetsmarginal (B�r vara 1?) disp(car) [new_position, seg_plus] = ... - choose_position(car.position, car.segment, car.num, car.pos_at); - if seg_plus ~= 0 && car.segment == 2 + choose_position(car.position, car.segment, car.num, car.pos_at); + if seg_plus ~= 0 && car.segment == 2 disp('Hoppar �ver missad givare 1/2'); else car.position = new_position; car.segment = car.segment + seg_plus; - end - if seg_plus ~= 0 && car.segment ~= 2 - car.seg_times(car.lap, car.segment - seg_plus - 1) = 0; - disp(car.seg_times(car.lap, :)) - disp(seg_plus) - end + end + if seg_plus ~= 0 && car.segment ~= 2 + car.seg_times(car.lap, car.segment - seg_plus - 1) = 0; + disp(car.seg_times(car.lap, :)) + disp(seg_plus) + end %car.miss_time = uint64(0); - else + else car.position = car.pos_at(car.segment); %car.miss_time = uint64(0); - end + end end end diff --git a/Kod/bilbana/yc4/fit_percents.m b/Kod/bilbana/yc4/fit_percents.m index ffdb9fc..7ccf0ba 100644 --- a/Kod/bilbana/yc4/fit_percents.m +++ b/Kod/bilbana/yc4/fit_percents.m @@ -8,4 +8,4 @@ for i = 1:length(percents) new_p = old_p - (old_p + cur_p) / 2; new_percents(i) = new_p; end - +new_percents = new_percents * (1/sum(new_percents)) % normera diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m index 2f45089..fbcdb6c 100644 --- a/Kod/bilbana/yc4/main.m +++ b/Kod/bilbana/yc4/main.m @@ -59,6 +59,8 @@ car1.miss_probability = 0.0; car1.constant = 0.1; car1.stop = false; car1.governs = []; +car1.forecasts = []; +car1.forecasts_naive = []; car2 = struct; car2.num = 2; @@ -79,7 +81,8 @@ car2.miss_probability = 0.05; car2.constant = 0.1; car2.stop = false; car2.governs = []; - +car2.forecasts = []; +car2.forecasts_naive = []; boot1 = struct; boot1.status = false; |
