Fehler im python comparer

charfi90
Mausschubser
Mausschubser
Beiträge: 61
Registriert: 8. Sep 2010 15:40

Fehler im python comparer

Beitrag von charfi90 » 29. Jan 2012 18:33

Hallo,

Der python file scheint den Fall nicht zu berücksichtigen wo ein wert null ist - ich bekomme nämlich ein zero division error.

Traceback (most recent call last):
File "outfilecomparer.py", line 51, in <module>
relDev = max(.0, absDev / min(abs(a), abs(b)))
ZeroDivisionError: float division

Gruss

mw1039
Computerversteher
Computerversteher
Beiträge: 346
Registriert: 12. Apr 2011 12:18

Re: Fehler im python comparer

Beitrag von mw1039 » 29. Jan 2012 19:41

Ich wuerde nicht sagen, dass es ein Fehler ist. Das tritt nur auf, wenn im einen File ein Eintrag exakt! 0 ist und im anderen File nicht. Der Fall dass beide exakt gleich sind, wird schon weiter oben im Code abgefangen:

Code: Alles auswählen

	if a==b:
		numComparisons += 1
		continue
Dass im einen File eine 0 auftritt und im anderen nicht, sollte bei sinnvollen Ergebnissen eigentlich nicht passieren. Kannst du bitte mal dein File angucken, ob nicht evtl. nur (oder zumindest viel zu viele) 0en drinstehen? Welches ist die Zeile in deinen outfiles, die den Fehler produziert?

charfi90
Mausschubser
Mausschubser
Beiträge: 61
Registriert: 8. Sep 2010 15:40

Re: Fehler im python comparer

Beitrag von charfi90 » 29. Jan 2012 21:14

Hallo,

ich habe in meinem File an einigen Zeilen 0. aber nich an alle.

In der Aufgabenstellung hiess es man muss die Matrix mit nullen intialisieren und nur die untere Dreiecksmartrix und die Diagonale berechenen. Deshlab sind bei mir einige nullen

Gruesse

Lucas-
Neuling
Neuling
Beiträge: 7
Registriert: 26. Jan 2012 23:53

Re: Fehler im python comparer

Beitrag von Lucas- » 29. Jan 2012 21:25

charfi90 hat geschrieben:Hallo,

ich habe in meinem File an einigen Zeilen 0. aber nich an alle.

In der Aufgabenstellung hiess es man muss die Matrix mit nullen intialisieren und nur die untere Dreiecksmartrix und die Diagonale berechenen. Deshlab sind bei mir einige nullen

Gruesse
Die Ausgabedatei stellt aber nur die Werte der unteren Dreiecksmatrix dar und nicht die ganze Matrix, d.h. da sollten keine Nullen drin sein

der_apfel
Erstie
Erstie
Beiträge: 14
Registriert: 9. Apr 2010 22:47

Re: Fehler im python comparer

Beitrag von der_apfel » 31. Jan 2012 22:53

Der comparer ist sogar so toll, dass er bei "nan" Werten ein Auge zudrückt.
Man muss also nur die Resultmatrix mit nan füllen und schon ist man fertig. :shock:

danny
Mausschubser
Mausschubser
Beiträge: 51
Registriert: 17. Okt 2010 22:32

Re: Fehler im python comparer

Beitrag von danny » 31. Jan 2012 23:28

Das habe ich auch gemerkt, nachdem ich mich darüber gefreut hatte, dass meine erste Kernelversion Ergebisse mit 0% Abweichung erzeugt hat :D

mw1039
Computerversteher
Computerversteher
Beiträge: 346
Registriert: 12. Apr 2011 12:18

Re: Fehler im python comparer

Beitrag von mw1039 » 1. Feb 2012 10:29

der_apfel hat geschrieben:Der comparer ist sogar so toll, dass er bei "nan" Werten ein Auge zudrückt.
Man muss also nur die Resultmatrix mit nan füllen und schon ist man fertig.
Man ist fertig, wenn man die Aufgabenstellung sinnvoll geloest hat.
Der comparer ist eine Hilfestellung fuer euch, damit nicht >100 Gruppen alle separat so ein Skript schreiben muessen. Wenn einem Fehler oder Unzulaenglichkeiten darin auffallen, ist es erlaubt, es zu modifizieren.

philipp_m
Mausschubser
Mausschubser
Beiträge: 99
Registriert: 4. Dez 2010 18:10

Re: Fehler im python comparer

Beitrag von philipp_m » 5. Feb 2012 14:58

So interessehalber... ist das hier noch aktuell?
In meiner Lösung gibt es einige Nullen, der Compare läuft aber problemlos mit einem maximalen Fehler von 0.001% durch. Ich habe das auch in den Ergebnisdateien überprüft und die Stellen, an denen bei meiner OCL-Lösung Nullen vorkommen, sind in der CPU-Lösung Werte a la 1.1E-6, d.h. in der CPU-Lösung nur minimal über Epsilon, bei meiner OCL-Lösung vermutlich weil Teile der Berechnung minimal unter Epsilon herausgefallen.

Antworten

Zurück zu „Archiv“