v2016… it’s on
executing: BPR_Championship_Series_funct -> 03-Apr-2016 18:16:38
theTopDir = /Users/juddrohwer/BPR Files/theRACEstuff_v2016 The Race: RACE-01-Jan09-Tuscobia.xlsx The Race: RACE-01-Jan25-Arrowhead.xlsx The Race: RACE-02-Feb06-SSAZ.xlsx The Race: RACE-02-Feb13-24HrsInTheOldPueblo.xlsx The Race: RACE-02-Feb20-24HrsWEMBO.xlsx The Race: RACE-03-Mar8-Aotearoa.xlsx The Race: RACE-BPR-CO.xlsx The Race: RACE-BPR-KS.xlsx The Race: RACE-BPR-WYO.xlsx ---- ---- ---- ---- ---- ---- ---- ANALYSIS of RESULTS: THE GLOBAL CREW - rolling single & rigid (?)
ANALYSIS of RESULTS: THE GLOBAL CREW with Ajustable Mechanical Advantage
ANALYSIS of RESULTS: BPRNM_ThePhilosofizer ANALYSIS of RESULTS: BPRNM_TheMoraleChairman
ANALYSIS of RESULTS: BPRAZ_MadRhino
ANALYSIS of RESULTS: BPRAZ_EffUgeyez
ANALYSIS of RESULTS: BPRAZ_Joey
ANALYSIS of RESULTS: BPRAZ_Jolly
ANALYSIS of RESULTS: BPRAZ_Deuce
ANALYSIS of RESULTS: BPRAZ_Frog
ANALYSIS of RESULTS: BPRAZ_Gnarly
ANALYSIS of RESULTS: BPRAZ_KrazyKarl
ANALYSIS of RESULTS: BPRAZ_WhoreChata
ANALYSIS of RESULTS: BPRAZ_TheButcher
ANALYSIS of RESULTS: BPRNZ_TheCrewChief
ANALYSIS of RESULTS: BPRNZ_Jasper
ANALYSIS of RESULTS: BPRND_DaBeard
ANALYSIS of RESULTS: BPRNC_Endless
ANALYSIS of RESULTS: BPRCO_CjellMone
ANALYSIS of RESULTS: BPRCO_BPRCOLeader
ANALYSIS of RESULTS: BPRCO_ThePitBoss
ANALYSIS of RESULTS: BPRCO_Kelly
ANALYSIS of RESULTS: BPRCO_TheByrd
ANALYSIS of RESULTS: BPRCO_Duane
ANALYSIS of RESULTS: BPRCO_OldMan
ANALYSIS of RESULTS: BPRCO_BackpackDan
ANALYSIS of RESULTS: BPRIA_Steve
ANALYSIS of RESULTS: BPRIA_JB
ANALYSIS of RESULTS: BPRKS_Churchy
ANALYSIS of RESULTS: BPRWYO_Goddess
ANALYSIS of RESULTS: BPRWYO_HeadFreak
ANALYSIS of RESULTS: BPRWYO_DirtheadPoet
‘,e]);
clear d e
theStartDir = ‘/Users/juddrohwer/MATLAB’;
% a1 = userpath;
% theStartDir = a1(1:end-1); %’/Users/juddrohwer/BPR Files/matlabScripts/’;
cd(theStartDir)
load(‘PublishOptions.mat’);
clear a1 userpath
% if ~exist(‘YearSel’,’var’)
% theDataDir = ‘/Users/juddrohwer/BPR Files/theRACEstuff_v2016/’;
% else
theDataDir = [‘/Users/juddrohwer/BPR Files/theRACEstuff_v’,num2str(YearSel),’/’];
% end
ResultsDir = ‘PointTotals’;
prodDir = ‘DataProducts’;
cd(theDataDir)
theTopDir = pwd()
[valC, txtC, CrewSearch] = xlsread(‘theBPRcrew_v2016.xlsx’);
TheRacersRacing = char(CrewSearch(2:end,1));
Chapter = char(CrewSearch(2:end,2));
Pts = cell2mat(CrewSearch(2:end,3));
NumRaces = cell2mat(CrewSearch(2:end,4));
TheSeriesPts = table(TheRacersRacing,Chapter,Pts,NumRaces);
TheSeriesPts_Gears = table(TheRacersRacing,Chapter,Pts,NumRaces);
[valS, txtS, ScoringTemplate] = xlsread(‘theBPRptsTemplate_v2016.xlsx’);
TheStuff = ScoringTemplate(1);
[ScoringTemplate, ScoringTemplateRaw] = DataCellMat_rowDel(ScoringTemplate);
TheXLSdir = dir(‘*.xlsx’);
zDir = size(TheXLSdir,1);
for jr1 = 1:zDir
if strfind(TheXLSdir(jr1).name,’RACE’)
[valD,txtD,DataConvert] = xlsread(TheXLSdir(jr1).name);
cd(theStartDir)
[DataConvert, DataConvertRaw,DateIdx,RaceIdx] = DataCellMat_rowDel(DataConvert);
if ~isempty(DateIdx)
selIdx = 5;
DataConvertRaw = DataConvertRaw(1:selIdx,:);
end
TheDateStr = {‘N/A’};
TheRaceID = TheXLSdir(jr1).name;
strFnd1 = strfind(TheRaceID,’.xlsx’);
TheRaceStr = TheRaceID(1:strFnd1(1)-1);
TheRacePts = cell(size(DataConvert,2)-1,2);
TheRacePts(1,1) = {‘The Racers Racing’};
TheRacePts(1,2) = {‘pts’};
disp(‘ ‘)
disp([‘The Race: ‘,TheRaceID])
for jr2 = 1:size(ScoringTemplate,1)
for jr3 = 1:size(ScoringTemplate,2)
if strcmp(ScoringTemplate(jr2,jr3),’TheRacersRacing’)% == 0
IdScIdx = [jr2,jr3];
for jr1A = 1:size(ScoringTemplate,2)
if strcmp(ScoringTemplate(jr2,jr1A),’The Details’)% == 0
DetScIdx = [jr2,jr1A];
end
end
end
end
end
if strcmp(DataConvert(1,1),’TheRacersRacing’)% == 0
IdIdx = [1,1];
jr2 = [];
jr3 = [];
for jr1A = 1:size(DataConvert,2)
if strcmp(DataConvert(1,jr1A),’The Details’)% == 0
DetIdx = [1,jr1A];
end
end
else
for jr2 = 1:size(DataConvert,1)
for jr3 = 1:size(DataConvert,2)
if strcmp(DataConvert(jr2,jr3),’TheRacersRacing’)% == 0
IdIdx = [jr2,jr3];
for jr1A = 1:size(DataConvert,2)
if strcmp(DataConvert(jr2,jr1A),’The Details’)% == 0
DetIdx = [jr2,jr1A];
end
end
end
end
end
end
for jr4 = IdIdx(1,2) + 1 : DetIdx(2)-1
% disp(‘ ‘)
% disp([‘The Race: ‘,TheRaceID])
% disp([‘The Racer: ‘,char(DataConvert(IdIdx(1,1),jr4))])
% disp(‘ ‘)
theMultFactorTotal = 1;
BonusPts = 0;
calcMultTime = 0;
TheElevGain = 0;
TheMiles = 0;
TheTime = 0;
TimeVar = 0;
ElevGainPts = 0;
DistancePts = 0;
PodiumPts = 0;
TheTazFactorPts = 0;
xVar = 5; xBonus = 0;
yVar = 5; yBonus = 0;
zVar = 1; zBonus = 0;
TheMilesPerLap = 0;
TheElevationGainPerLap = 0;
TheLaps = 0;
TheRaceDuration = 0;
ThePitFactor = 0;ThePitBonus = 0;
RaceWriteupFactor = 0;
ThePitBossFactor = 0;ThePitBossBonus = 0;
TheTeamFactor = 1;
TheGearsFactor = 1;
for jr5 = 1:size(CrewSearch,1)
if strcmp(CrewSearch(jr5,1),DataConvert(IdIdx(1,1),jr4))% == 0
TheDude = DataConvert(IdIdx(1,1),jr4);
TheChapter = CrewSearch(jr5,2);
if ~isempty(DateIdx)
try
TheDateGuessTemp = datestr(cell2mat(DataConvertRaw(DateIdx,jr4)));
strFnd1 = strfind(TheDateGuessTemp,’-‘);
TheDateGuess = TheDateGuessTemp(1:strFnd1(2)-1);
catch
TheDateGuess = ‘-‘;
end
else
TheDateGuess = ‘ – ‘;
end %RaceIdx
if ~isempty(RaceIdx)
try
TheRaceDescStr = char(DataConvertRaw(RaceIdx,jr4));
catch
TheRaceDescStr = ‘-‘;
end
else
TheRaceDescStr = ‘-‘;
end %
TheRacePts(jr4,1) = TheDude;
for jr6 = IdIdx(1,1)+1:size(DataConvert,1)
if ~isempty(DataConvert(jr6,1))
algIdx = [];
FoundTazFactor = [];
if size(ScoringTemplate,1) >= jr6 && strcmp(DataConvert(jr6,1),ScoringTemplate(jr6,1))% == 0
algIdx = [jr6,1];
else
for z2 = 1:size(ScoringTemplate,1)
if strcmp(DataConvert(jr6,1),ScoringTemplate(z2,1))% == 0
algIdx = [z2,1];
end
end
end
if ~isempty(algIdx)
if algIdx(1,1) = 1
b1 = theCommaVec(1);
theDec(1) = eval(theTazFactorStr(a1+1:b1-1));
end
if length(theCommaVec) >= 2
c1 = theCommaVec(2);
theDec(2) = eval(theTazFactorStr(b1+1:c1-1));
theDec(3) = eval(theTazFactorStr(c1+1:a2-1));
end
if length(theCommaVec) >= 3
error(‘something is wrong. TheTazFactor ~line 190’);
end
end
for jrC = 1:length(theDec)
if jrC == 1
xBonus = xVar * theDec(jrC);
elseif jrC == 2
yBonus = yVar * theDec(jrC);
elseif jrC == 3
zBonus = zVar * theDec(jrC);
end
end
TheTazFactorPts = xBonus + yBonus + zBonus;
end
catch
error(‘TheTazFactor calculations failed -> ~ line 193′)
end
elseif ~isnan(cell2mat(DataConvert(algIdx(1,1),jr4)))
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’miles’)% == 0
TheMiles = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’elevation gain’)% == 0
TheElevGain = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’time’)% == 0
TheTime = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’miles / lap’)% == 0
TheMilesPerLap = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’elevation gain / lap’)% == 0
TheElevationGainPerLap = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’laps’)% == 0
TheLaps = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’race duration’)% == 0
TheRaceDuration = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’dude with gears’)% == 0
TheGearsFactor = 1/cell2mat(DataConvert(algIdx(1,1),jr4));
% disp([‘TheGearsFactor: ‘,num2str(TheGearsFactor)])
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’dudette with gears’)% == 0
TheGearsFactor = 1/cell2mat(DataConvert(algIdx(1,1),jr4));
% disp([‘TheGearsFactor: ‘,num2str(TheGearsFactor)])
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’Racing on a Team’)% == 0
TheTeamFactor = 1/cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’ThePitFactor’)% == 0
ThePitFactor = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’ThePitBossFactor’)% == 0
ThePitBossFactor = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(ScoringTemplate(algIdx(1,1),IdIdx(1,2)),’RaceWriteup’)% == 0
RaceWriteupFactor = cell2mat(DataConvert(algIdx(1,1),jr4));
end
if strcmp(DataConvert(algIdx(1,1),IdIdx(1,2)),’Podium’)% == 0
clear PodiumPts
if calcMultTime == 1
TimeVar = TheTime; %24
else
TimeVar = TheRaceDuration;
end
if TimeVar > 1
TimeVar = 1;
end
try
theGuess = cell2mat(DataConvert(algIdx(1,1),jr4));
if isnumeric(theGuess)
PodiumPts = 500/cell2mat(DataConvert(algIdx(1,1),jr4)) * TimeVar; %24
elseif ischar(theGuess)
PodiumPts = 500/eval(cell2mat(DataConvert(algIdx(1,1),jr4))) * TimeVar;
end
catch
error(‘cell2mat conversion of podium pts failed. line 250 or about there.’)
end
end
end
end
end
end
end
end
end
end
if calcMultTime == 1
MultTime = min(1.25,max(1,TheMiles/(TheTime*24)/5));
theMultFactorTotal = theMultFactorTotal * MultTime;
DistancePts = TheMiles;
% disp([‘Time Race -> MultTime: ‘,num2str(MultTime)])
else
TheElevGain = TheElevationGainPerLap * TheLaps;
DistancePts = TheMilesPerLap * TheLaps;
end
theMultFactorTotal = theMultFactorTotal * TheTeamFactor * TheGearsFactor;
BonusPts = BonusPts + ThePitFactor * 25 + ThePitBossFactor * 50 + RaceWriteupFactor * 10;
ElevGainPts = 1/2 * 1/100 * TheElevGain;
% disp([‘The Elevation Points: ‘,num2str(ElevGainPts)])
% disp([‘The Distance Points: ‘,num2str(DistancePts)])
% disp([‘The Team Factor: ‘,num2str(TheTeamFactor)])
% disp([‘The Gears Factor: ‘,num2str(TheGearsFactor)])
% disp([‘Multiplication Factor: ‘,num2str(theMultFactorTotal)])
% disp([‘Bonus Pts: ‘,num2str(BonusPts)])
% disp([‘The Podium Pts: ‘,num2str(PodiumPts)])
% disp([‘The Bonus Pts: ‘,num2str(BonusPts)])
% disp([‘The Taz Factor: ‘,num2str(TheTazFactorPts)])
TotalPts = min(((ElevGainPts + DistancePts) * theMultFactorTotal + BonusPts + TheTazFactorPts + PodiumPts),3000);
% TotalPts = ((ElevGainPts + DistancePts) * theMultFactorTotal + BonusPts + TheTazFactorPts + PodiumPts);
if TotalPts 2
[SUCCESS] = create_analysisPlots_x1(fullfile(theDir,[‘Pts_’,ChapterStr,’_’,TheDudeStr]),[‘pAnalysis_’,ChapterStr,’_’,TheDudeStr],tableTemp);
open(fullfile(theDir,[‘Pts_’,ChapterStr,’_’,TheDudeStr],[‘pAnalysis_’,ChapterStr,’_’,TheDudeStr,’_Plot-i_Cal.fig’]))
snapnow
end
disp(‘ ‘);
disp(‘ ‘);
pause(1)
close all
end
end
cd(theStartDir)
##### SOURCE END #####
–>
— v2015 Closeout:
—- —- —- —- —- —- —-
Point Total as of Oct 3rd
Point Total as of Sept 7th
Point Total as of August 8th
Point Total as of June 28th
Point Total as of June 13th
Point Total as of May 3rd
Point Total as of March 29th
Point Total as of March 15th
Point Total as of Feb 15th
Point Total as of Feb 1st
Mid January Point Total Summary
The point totals for the early January races are below. Amazing distribution and some big time surprises.
The Scoring Algorithm, ref below, is truly an amazing tool generated by Back of the Pack technology. Through this algorithm I am able to find 5 distinct strategies employed by The Racers Racing at the back of the pack
The Strategies – as of early January:
- The Race Strategy: Miles, Fast Laps and The Taz Factor.
- The Podium Strategy: TeamWork and Fitness leading to a very important and high profile Podium position
- The LSD Strategy: Long Slow Distance via dedication to the pain cave
- The Pit Boss Strategy: support the team -> encourage, promote & maintain Hooliganism
- The BPR Strategy: just chill out, turn the cranks and enjoy life in the alternate reality
The Execution of Strategies:
- It’s clear that Mad Rhino and Krazy Karl executed The Race Strategy. Those dudes put in the miles and supported Hooliganism… in the Alternate Reality. But THEIR choice to race in a duo team lead to multiplication factor of 1/2 – but then again, if they were going solo and entire different set of variables would’ve dominated their point total.
- Joey went for The Podium Strategy. That freak had a multiplier of 0.07. Which means he broke all ‘The Rules’. And at the back of the pack we don’t really believe that Winners Win or Winning makes a Winner. But, to my surprise, Joey’s podium brought in big points. And this successful execution of The Podium Strategy MAY keep Joey at the front of the back of the pack for the entire race season.
- Frog rolled with The LSD Strategy. That dude kept the cranks turning, respected the Solo Single Speed gods, and is sitting in 3rd. Nice job dude – nice effort in successfully executing the strategy that is The Foundation of Back of the Pack Racing. I think.
- Eff Ugeyez dominated in the pits. And thus his big a$$ point total from The Pit Boss Strategy set the stage for his 2015 season
- Then there is The BPR Strategy. The Morale Chairman, The Philosofizer (that’s me), The Professor and Gnarly just chill’d… which means The Racers Racing and the Back of the Pack in early January are saving up for big things in the not so distant future. Yeah, that’s a positive way to say it. I think.
So. Dudes & Dudettes. This is the 1st look into the BPR Championship Series. It’s gonna be a big year. The race for Fame ‘N Glory drives us all. Or not at all. AND I’ve had some communication with the Vegas OddsMakers. Yep, this could get really interesting. Big Bucks and Fame ‘N Glory. Totally.
The Code:
Open Source. Dude. We’ll discuss my Algorithm and Software skills, as utilized in The Alternate Reality, in a different forum. So don’t be critical. I don’t like Methods and Classes. I like IF THEN ELSE statements and I like FOR loops. Yes, you MUST understand that I like loops. Sometimes I deal in functions. But I like Loops. I like robust code. I like piss’n off you Software & Computer Engineers. Yeah, OPEN SOURCE. Dude.
————————-
[…] BPR Championship Series v2015 […]
LikeLike
[…] BPR Championship Series […]
LikeLike