Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
1. Sep 2015
Was kriegst denn raus, wenn du (bei Floats) die Probe machst, also z.B. so. Da kann doch nix nennenswertes rauskommen?
function TGauss.GetMaxInversError: Extended; // E = A x A^-1;
var
I, J, K: integer;
Value: Extended;
begin
Result := 0;
SetLength(FTemp, Count, Count);
try
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
29. Aug 2015
Sagt Karl, keine Ahnung was rauskommt, Ergebnis kommt übermorgen..
Ich wäre dir übrigens dankbar wenn du meine Posts nicht mit LOL kommentiert. Ein Eps von 1E-12 ist durchaus üblich und für den Rest der Welt in den allermeisten Fällen ausreichend..
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
29. Aug 2015
Japp. Selbst mein Blödgauss aus den 80gern schafft in 1 sec eine Matrix 500 x 500. Ich denke mal TE würde sowas womöglich schon reichen. Etwas umformuliert, erste Tests, die Quelle hab ich oben angegeben.
function FloatToFracStr(const Value: Extended): string; // Quelle "delfiphan"
const
Eps = 1E-12; // Fehlertoleranz
var
P, LastP, Q, LastQ, TempP, TempQ, U, A, D: Extended;
...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Bjoerk,
29. Aug 2015
Ein Gauß 40 x 40 dürfte bei Floats so 1 sec. brauchen. Das Problem hier dürfte dein Zahlenformat sein. Wie wäre es hingegen, mit Floats zu arbeiten und zur Ausgabe sich eine FloatToFrac zu schreiben. Hier das wäre mal ein Anfang.