Difference between revisions of "Aufgaben:Exercise 4.11Z: C Program "acf2""

From LNTwww
Line 7: Line 7:
  
 
*Der an das Programm übergebene Long-Wert sei hier $l=10$.  
 
*Der an das Programm übergebene Long-Wert sei hier $l=10$.  
*Die berechneten AKF-Werte  $\varphi_x(0)$, ... , $\varphi_x(10)$ werden mit dem Float-Feld $\rm AKF[ \  ]$ an dasHauptprogramm zurückgegeben. In den Zeilen 7 und 8 wird dieses Feld mit Nullen vorbelegt.
+
*Die berechneten AKF-Werte  $\varphi_x(0)$, ... , $\varphi_x(10)$ werden mit dem Float-Feld $\rm 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_\nu$ eingetragen werden (Zeile 9 und 10).
 
*Die Zufallsgröße $x( \  )$ ist als Float-Funktion in Zeile 4 definiert, ebenso ein Hilfsfeld $H[10000  ]$, in das die $N = 10000$ Abtastwerte $x_\nu$ eingetragen werden (Zeile 9 und 10).
 
*Die Bezeichnungen der Laufvariablen in Zeile 6 sind an den angegebenen Algorithmus angepasst.
 
*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.
 
*Die eigentliche AKF-Berechnung erfolgt ab Zeile 11. Dieser Programmteil ist im Programmcode rot gekennzeichnet.
 +
  
 
''Hinweise:''  
 
''Hinweise:''  
Line 21: Line 22:
  
 
<quiz display=simple>
 
<quiz display=simple>
{Auf wie vielen Summanden (<i>S</i>) basiert die AKF-Berechnung f&uuml;r den Index <i>k</i> = 0 bzw. für <i>k</i> = 10?
+
{Auf wie vielen Summanden ($S$) basiert die AKF-Berechnung f&uuml;r den Index $k=0$ bzw. für $k=10$?
 
|type="{}"}
 
|type="{}"}
$S_\text{$k=0$}$ = { 10000 3% }
+
$S_{k=0} \ = $ { 10000 }
$S_\text{$k=10$}$ = { 9990 3% }
+
$S_{k=10} \ = $ { 9990 }
  
  
 
{Welche der nachfolgenden Aussagen sind richtig?
 
{Welche der nachfolgenden Aussagen sind richtig?
 
|type="[]"}
 
|type="[]"}
+ Die Rechenzeit steigt linear mit <i>l</i> + 1, also mit der Anzahl der zu berechnenden AKF-Werte.
+
+ Die Rechenzeit steigt linear mit $l + 1$, also mit der Anzahl der zu berechnenden AKF-Werte.
- Die Rechenzeit nimmt mit der Anzahl <i>N</i> der berücksichtigten Abtastwerte quadratisch  zu.
+
- Die Rechenzeit nimmt mit der Anzahl $N$ der berücksichtigten Abtastwerte quadratisch  zu.
+ Die Berechnung wird mit steigendem <i>N</i> genauer.
+
+ Die Berechnung wird mit steigendem $N$ genauer.
+ Wird eine Floatvariable mit 4 Byte dargestellt, so benötigt &bdquo;akf2&rdquo; mindestens 4 &middot; <i>N</i> Byte Speicherplatz.
+
+ Wird eine Floatvariable mit $\rm 4 \ Byte$ dargestellt, so benötigt &bdquo;akf2&rdquo; mindestens $4 \cdot N$ Byte Speicherplatz.
  
  
 
{Welche der nachfolgenden Aussagen sind zutreffend?
 
{Welche der nachfolgenden Aussagen sind zutreffend?
 
|type="[]"}
 
|type="[]"}
+ Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind, desto ungenauer ist bei gegebenem <i>N</i> das AKF-Ergebnis.
+
+ Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind, desto <u>ungenauer</u> ist bei gegebenem $N$ das AKF-Ergebnis.
- Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind, desto genauer ist bei gegebenem <i>N</i> das AKF-Ergebnis.
+
- Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind, desto <u>genauer</u> ist bei gegebenem $N$ das AKF-Ergebnis.
+ Besitzt der Prozess statistische Bindungen, so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert.<br> <i>Beispiel:</i> Ist der Wert <i>&phi;<sub>x</sub></i>(<i>k</i> = 5) zu gro&szlig;, so werden mit gro&szlig;er Wahrscheinlichkeit auch <i>&phi;<sub>x</sub></i>(<i>k</i> = 4) und <i>&phi;<sub>x</sub></i>(<i>k</i> = 6) zu gro&szlig; sein.
+
+ Besitzt der Prozess statistische Bindungen, so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert. <i>Beispiel:</i>
 +
<br>Ist der Wert $\varphi_x(k=5)$ zu gro&szlig;, so werden mit gro&szlig;er Wahrscheinlichkeit auch $\varphi_x(k=4)$ und $\varphi_x(k=6)$ zu gro&szlig; sein.
  
  

Revision as of 12:17, 26 March 2017

P ID395 Sto Z 4 11.png

Sie sehen rechts das C-Programm „akf2” zur Berechnung der diskreten AKF-Werte $\varphi_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 $\varphi_x(0)$, ... , $\varphi_x(10)$ werden mit dem Float-Feld $\rm 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_\nu$ 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$?

$S_{k=0} \ = $

$S_{k=10} \ = $

2

Welche der nachfolgenden Aussagen sind richtig?

Die Rechenzeit steigt linear mit $l + 1$, also mit der Anzahl der zu berechnenden 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 $\rm 4 \ Byte$ dargestellt, so benötigt „akf2” mindestens $4 \cdot N$ Byte Speicherplatz.

3

Welche der nachfolgenden 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:


Musterlösung

1.  Zur Berechnung des AKF-Wertes φx(0) wird über N = 10000 Summanden gemittelt, für φx(10) nur über Nl = 9990.
2.  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 A4.11 – allerdings auf Kosten des erforderlichen Speicherbedarfs. Da jede Float-Variable genau vier Byte beansprucht, benötigt alleine das Hilfsfeld H[10000] einen Speicher von 40 kByte. Richtig sind somit die Lösungsvorschläge 1, 3 und 4.
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 an der Stelle 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 alle 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 im Kapitel 4.4 auf der Seite Genauigkeit der numerischen AKF-Berechnung im Theorieteil ausführlich erläutert wird. Richtig sind somit die Lösungsvorschläge 1 und 3.