-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vorhersage.m
60 lines (57 loc) · 2.48 KB
/
Vorhersage.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function Vorhersage
% Einspeicherung der globalen Variablen
global AW RAW Spielerliste Name SLgefiltert Gewichtung Stelle Positionszahl...
Ergebnisse Originalspieler fi Vergleichsspieler_SI Knopf_Beenden;
% die Eingabeformular Funktion erstellt das Eingabeformular
% sobald 'Berechnen' gedrueckt wird, werden die eingegebenen Daten ueber die
% Dateninput Funktion eingelesen und als Input abgespeichert
Input=Eingabeformular;
% das Eingabeformular kann nun geschlossen werden
clf;
% je nach Auswahl wird die Gewichtung festgelegt
if char(Input(5))=='POS'
Gewichtung=AW;
else
Gewichtung=RAW;
endif
% Die Daten zum ausgewaehlten Spieler werden abgespeichert
Positionszahl=Input{4};
Alter=str2num(Input{2});
UID=str2num(Input{1});
% Der ausgewaehlte Spieler wird mittels Alter und UID identifiziert
Stelle=find(Spielerliste(:,1)==UID & Spielerliste(:,5)==Alter);
% Sollte der Spieler zwei Profile im gleichen Alter haben (kommt selten
% vor), wird das erste gewaehlt
if isscalar(Stelle)
else
Stelle=Stelle(1);
endif
% Die Attribute des ausgewaehlten Spielers werden nun in v abgespeichert
v=Spielerliste(Stelle,:);
% der SI der Vergleichsspieler wird mit der SI Funktion berechnet
Vergleichsspieler_SI=SI(v);
% die Vergleichsspieler werden nach SI sortiert
Zwischenergebnis=sortrows(Vergleichsspieler_SI,3);
% danach wird das Zwischenergebnis gewendet und die 100 "aehnlichsten" Spieler
% werden in die Matrix Variabel abgespeichert und gedreht
Matrix=flipud(Zwischenergebnis(end-99:end,:));
% der aehnlichste Spieler ist stets der Originalspieler, dieser wird in eine
% separate Variabel abgespeichert und aus der Matrix entfernt
Originalspieler=Matrix(1,:);
Matrix(1,:)=[];
% die Spieler mit den erforderlichen Daten werden rausgefiltert und in eine
% Variabel abgespeichert
Vergleichsspieler_Zwischenresultate=Filter_Vergleichsspieler(Matrix);
% in der Ergebnis Funktion werden die finalen Vorhersagewerte kalkuliert und
% Teile des Ergebnis GUI's erstellt
Ergebnisse=Ergebnis(Vergleichsspieler_Zwischenresultate);
Daten=Ergebnisse;
% mit der barchart Funktion wird das Balkendiagramm mit der Vorhersage
% erstellt
Barchart(Daten);
% die Funktion wird pausiert bis entweder der Beenden oder Neustart Knopf
% gedrueckt wird
waitfor(Knopf_Beenden,'value');
% wird einer dieser Knoepfe geedrueckt wird das Ergebnis GUI geschlossen
close all;
endfunction