oscat.lib > oscat.lib fuer Step 7
Arithmetik doppelter Genauigkeit
Langnese:
[Hallo,
wer hat mit diesen Bausteinen schon einmal gearbeitet. Ich habe das Problem, dass ich bei einer Mittelwertberechnung über folgende Formel arbeiten muss, um die Zyklusbelastung nicht zu groß werden zu lassen:
MW := MW + (Rohwert - buffer[j]); mit j:= 1 bis 3600
Wenn ich jedesmal alle Werte aufaddiere dann ist der Zyklus zu lang.
Leider gibt es bei dieser Berechnung unvermeidbare Rundungsfehler. Also wollte ich das mal mit dem Format REAL2 probieren, erhalte aber immer wieder das selbe Ergebnis, ohne dass die höhere Genauigkeit genutzt wird, der Bereich *.R1 ist immer 0.
Gruß
hugo:
kannst du mal ein kleines projekt posten das den fehler aufweist
dalbi:
--- Zitat von: hugo am 02. November 2009, 18:50:49 ---kannst du mal ein kleines projekt posten das den fehler aufweist
--- Ende Zitat ---
Ja, poste doch bitte mal ein kleines Projekt.
Kannst Du deine Berechnung nicht auf mehre Zyklen aufteilen?
Gruss Daniel
hugo:
in deinem Beispiel oben schreibst du z.b. MW + Rohwert ...
mit dem Datentyp REAL2 geht das so nicht, du musst zwingend R2_ADD(MW, ROHWERT) als funktion benutzen.
dasselbe gilt für alle anderen operationen
dalbi:
wird bei 3600 Aufrufen aber auch schwierig. :o
Gruss Daniel
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln