Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Aufgabe 4.11Z: C-Programm „akf2”

Aus LNTwww
(Weitergeleitet von 4.11Z C-Programm „akf2”)
Wechseln zu:Navigation, Suche

C-Programm  2  zur AKF–Berechnung

Sie sehen rechts das C-Programm „akf2” zur Berechnung der diskreten AKF-Werte  φx(k)  mit Index  k=0, ... , l.

Im Gegensatz zum Programm „akf1” aus  Aufgabe 4.11  wird hier der im Theorieteil beschriebene Algorithmus direkt angewendet.  Dabei ist zu beachten:

  • Der an das Programm übergebene Long-Wert sei hier  l=10.
  • Die berechneten AKF-Werte  φx(0), ... , φx(10)  werden mit dem Float-Feld  AKF[ ]  an das Hauptprogramm zurückgegeben.  In den Zeilen 7 und 8 wird dieses Feld mit Nullen vorbelegt.
  • Die Zufallsgröße  x( )  ist als Float-Funktion in Zeile 4 definiert,  ebenso ein Hilfsfeld  H[10000],  in das die  N=10000  Abtastwerte  xν  eingetragen werden  (Zeile 9 und 10).
  • Die Bezeichnungen der Laufvariablen in Zeile 6 sind an den angegebenen Algorithmus angepasst.
  • Die eigentliche AKF-Berechnung erfolgt ab Zeile 11.  Dieser Programmteil ist im Programmcode rot gekennzeichnet.



Hinweise:


Fragebogen

1

Auf wie vielen Summanden  (S)  basiert die AKF-Berechnung für den Index  k=0   bzw.  für  k=10 ?

Sk=0 = 

Sk=10 = 

2

Welche der folgenden Aussagen sind richtig?

Die Rechenzeit steigt linear mit  l+1,  also mit der Anzahl der zu berechenden AKF-Werte.
Die Rechenzeit nimmt mit der Anzahl  N  der berücksichtigten Abtastwerte quadratisch zu.
Die Berechnung wird mit steigendem  N  genauer.
Wird eine Floatvariable mit  4 Byte  dargestellt,  so benötigt „akf2” mindestens  4N  Byte Speicherplatz.

3

Welche der folgenden Aussagen sind zutreffend?

Je stärker die inneren statistischen Bindungen des Prozesses sind,  desto  ungenauer  ist bei gegebenem  N  das AKF-Ergebnis.
Je stärker die inneren statistischen Bindungen des Prozesses sind, desto  genauer  ist bei gegebenem  N  das AKF-Ergebnis.
Besitzt der Prozess statistische Bindungen,  so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert.
    Beispiel:     Ist der Wert  φx(k=5)  zu groß,  so werden mit großer Wahrscheinlichkeit auch  φx(k=4)  und  φx(k=6)  zu groß sein.


Musterlösung

(1)  Zur Berechnung des AKF-Wertes  φx(0)  wird über  N=10000_  Summanden gemittelt,  für  φx(10)  nur über  N=9990_.


(2)  Richtig sind  die Lösungsvorschläge 1, 3 und 4:

  • Die Rechenzeit steigt mit  N  und  l+1  näherungsweise linear an,  wie aus der rot hervorgehobenen AKF-Berechnung hervorgeht.
  • Die Rechenzeit für die weiteren Programmteile kann demgegenüber vernachlässigt werden.
  • Natürlich wird die Berechnung mit steigendem  N  auch genauer.
  • Dies geht hier – im Gegensatz zum Programm „akf1” von Aufgabe 4.11 – allerdings auf Kosten des erforderlichen Speicherbedarfs.
  • Da jede Float-Variable genau vier Byte beansprucht,  benötigt allein das Hilfsfeld  H[10000]  einen Speicher von 40 kByte.


(3)  Richtig sind die  Lösungsvorschläge 1 und 3:

  • Je stärker die statistischen Bindungen innerhalb des Zufallsprozesses sind,  desto ungenauer ist bei gegebenem  N  die AKF-Berechnung.
  • Diesen Sachverhalt kann man sich beispielsweise anhand der Leistungsberechnung  (AKF-Wert bei  k=0)  verdeutlichen:
    • Sind alle  N  Abtastwerte statistisch unabhängig,  so liefern alle Beiträge die maximale Information über den AKF–Wert  φx(k=0).
    • Bestehen jedoch statistische Bindungen zwischen  xν  und  xν+1,  nicht jedoch zwischen  xν  und  xν+2, so liefern nur die Hälfte aller Abtastwerte die volle Information über  φx(k=0)  und die anderen nur eingeschränkte Informationen.
  • Dieser auf Korrelationen beruhende Informationsverlust kann in diesem Beispiel nur durch eine Verdopplung von  N  ausgeglichen werden.
  • Die letzte Aussage trifft ebenfalls zu,  wie auf der Seite „Genauigkeit der numerischen AKF-Berechnung” im Theorieteil ausführlich erläutert wird.