Maximaler Fehler
-
Hey hey,
ich hab n Problem ich habe 4 verschiedene Methoden um auf eine Lösung zu kommen. (was für eine Lösung das ist spielt keine Rolle)ich möchte 2 Methoden anwenden und bei zu großer ungenauigkeit möchte ich die verbleibenden Methoden anwenden und alle 4 Lösungen dann verglechen.
aber ich weiss nicht wie ich die Ungenauigkeit festmachen kann... gibts da in c++ toleranzen die man verwenden kann?
zum Beispiel wenn der Fehler < 1.Promille ist.
ich check nicht wie ich die Toleranz rein bekomme-
MfG
82kolu
-
82kolu schrieb:
(was für eine Lösung das ist spielt keine Rolle)
Doch. Für Geheime Sachen nehme ich 200€ pro Beratungsstunde.
82kolu schrieb:
aber ich weiss nicht wie ich die Ungenauigkeit festmachen kann... gibts da in c++ toleranzen die man verwenden kann?
Nicht allgemein. Siehe Lorenz-Attraktor.
82kolu schrieb:
zum Beispiel wenn der Fehler < 1.Promille ist.
ich check nicht wie ich die Toleranz rein bekomme-if(abs(2*(a-b)/(a+b))<.001)?
-
Lorenz-Attraktor:
auf DGLs will ich nicht raus ^^check nicht ganz was du mir sagen willst...
da war jetzt keine hilfe dabei... wie könnte man es alternativ machen.. oder wie würdest du es machen?
-
82kolu schrieb:
check nicht ganz was du mir sagen willst...
Daß es kein allgemeines Verfahren gibt, festzustellen, wann ein Fehler zu groß ist.
-
Wie kann ich auf die kleinste Zahl kommen die der Computer berechnen kann?
kann man einfach MinValue machen?
-
82kolu schrieb:
Wie kann ich auf die kleinste Zahl kommen die der Computer berechnen kann?
kann man einfach MinValue machen?
Ich glaube, du hast Fließkommazahlen nicht verstanden. Lies dir mal Wikipedia zu den Grundlagen durch und, wenn du danach noch Fragen hast, dies:
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
-
Was haltet ihr von der Idee?
T EPSILON = 1.4013e-045f; if((Wert[0]-Wert[1] < EPSILON) && (Wert[0]-Wert[1] > -EPSILON)) return Wert[0]; if(Wert[0]-Wert[1]>=0) { if(Wert[2]-Wert[3]>=0) { if(Wert[1]-Wert[3]>=0) { return Wert[3]; } return Wert[1]; } if(Wert[1]-Wert[2]>=0) { return Wert[2]; } return Wert[1]; } else { if(Wert[2]-Wert[3]>=0) { if(Wert[0]-Wert[3]>=0) { return Wert[3]; } return Wert[0]; } if(Wert[0]-Wert[2]>=0) { return Wert[2]; } return Wert[0]; } }
-
Ist dein epsilon nicht ein bisschen klein? Ich kenne natürlich deine Zahlenwerte nicht, aber 1.4013e-045f ist schon verdammt klein für irgendetwas, wenn du nicht aus irgendeinem Grund einen Skalenfaktor von 10^(-40) angelegt hast. Ich wette du hast dir nichts von der vorgeschlagenen Literatur durchgelesen.
-
SeppJ schrieb:
Ist dein epsilon nicht ein bisschen klein? Ich kenne natürlich deine Zahlenwerte nicht, aber 1.4013e-045f ist schon verdammt klein für irgendetwas, wenn du nicht aus irgendeinem Grund einen Skalenfaktor von 10^(-40) angelegt hast. Ich wette du hast dir nichts von der vorgeschlagenen Literatur durchgelesen.
Ich habe angefangen zu lesen aber nachdem ich vestgestellt habe wieviele Seiten das sind... da würd ich ja morgen noch lesen.
Desweiteren habe ich es schon verstanden.
-
82kolu schrieb:
Ich habe angefangen zu lesen aber nachdem ich vestgestellt habe wieviele Seiten das sind... da würd ich ja morgen noch lesen.
...
Wie liest du Bücher?
-
82kolu schrieb:
Was haltet ihr von der Idee?
Immernoch: Alle Genauigkeitsabschaetzungen haengen DIREKT von dem Problem ab, dass du loesen willst. Das Problem ist je nach Berechnung so endlos schwierig, dass die paar Seiten, die du bislang lesen musst gar nichts sind, um es zu loesen.