Seite 1 von 1

Fehler im python comparer

Verfasst: 29. Jan 2012 18:33
von charfi90
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

Re: Fehler im python comparer

Verfasst: 29. Jan 2012 19:41
von mw1039
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?

Re: Fehler im python comparer

Verfasst: 29. Jan 2012 21:14
von charfi90
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

Re: Fehler im python comparer

Verfasst: 29. Jan 2012 21:25
von Lucas-
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

Re: Fehler im python comparer

Verfasst: 31. Jan 2012 22:53
von der_apfel
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:

Re: Fehler im python comparer

Verfasst: 31. Jan 2012 23:28
von danny
Das habe ich auch gemerkt, nachdem ich mich darüber gefreut hatte, dass meine erste Kernelversion Ergebisse mit 0% Abweichung erzeugt hat :D

Re: Fehler im python comparer

Verfasst: 1. Feb 2012 10:29
von mw1039
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.

Re: Fehler im python comparer

Verfasst: 5. Feb 2012 14:58
von philipp_m
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.