numerisches Problem
-
Hallo,
habe ein kleines Problem mit einem numerischen Fehler.
alpha[3]=(-xi1-xi2+2*xi)/(d*d)
Diese Zeile ergibt in einer alten Programmversion 0.
In einer neuen 2.8e-15, also nur fast null.
Habe die Einzelwerte vor der Berechnung ausgegeben, sie sind absolut identisch.Was für Ursachen kann dies haben??
xi1, xi2, xi und 1/d^2 sind wie gesagt identisch....
(mit precision 30 ausgegeben, alles sind doubles)
-
koonnte das problem eingrenzen.
enorm absurder fehler:double bla = xi(x[i][j]);
std::cout<<(-xi1-xi2+2bla)<< std::endl;
std::cout<<(-xi1-xi2+2 xi(x[i][j]))<< std::endl;die eine Zeile ergibt 0 die andere 2.8e-15
WTTTTTTTTTTTTTTTTTTTTFFFFFFFFFFFF
-
Kannst du mal ein compilierbares Beispiel gaben, an dem man den "Fehler" nachvollziehen kann?
-
Was für einen Compiler benutzt du?