Difference between revisions of "Aufgaben:Exercise 4.11: C Program "acf1""

From LNTwww
Line 60: Line 60:
 
[[File:P_ID417__Sto_A_4_11_b.png|right|frame|Zur numerischen AKF-Berechnung]]
 
[[File:P_ID417__Sto_A_4_11_b.png|right|frame|Zur numerischen AKF-Berechnung]]
 
<br>
 
<br>
'''(1)'''&nbsp; Mit  $z= 0$ und $k=6$ ergibt sich gem&auml;&szlig; dem Programm: &nbsp; $\underline{i= 0}$ und $\underline{j= 6}$.  
+
'''(1)'''&nbsp; Mit&nbsp; $z= 0$&nbsp; und&nbsp; $k=6$&nbsp; ergibt sich gem&auml;&szlig; dem Programm: &nbsp; $\underline{i= 0}$&nbsp; und&nbsp; $\underline{j= 6}$.
<br>Die entsprechenden Speicherinhalte sind ${\rm H}\big[\hspace{0.03cm} 0 \hspace{0.03cm}\big] = x_1$ und ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big] = x_7$.
+
*Die entsprechenden Speicherinhalte sind&nbsp; ${\rm H}\big[\hspace{0.03cm} 0 \hspace{0.03cm}\big] = x_1$&nbsp; und&nbsp; ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big] = x_7$.
  
  
'''(2)'''&nbsp; In das Feld ${\rm H}\big[\hspace{0.03cm} 0 \hspace{0.03cm}\big]$ wird nun die Zufallsgr&ouml;&szlig;e $x_{12}$ eingetragen:
+
 
 +
 
 +
'''(2)'''&nbsp; In das Feld&nbsp; ${\rm H}\big[\hspace{0.03cm} 0 \hspace{0.03cm}\big]$&nbsp; wird nun die Zufallsgr&ouml;&szlig;e&nbsp; $x_{12}$&nbsp; eingetragen:
 
:$$\text{Speicherzelle  }\underline{i= 0},\hspace{1cm}\text{Folgenindex  }\underline{\nu= 12}.$$
 
:$$\text{Speicherzelle  }\underline{i= 0},\hspace{1cm}\text{Folgenindex  }\underline{\nu= 12}.$$
  
  
'''(3)'''&nbsp; Die Grafik zeigt die Belegung des Hilfsfeldes mit den Zufallswerten $x_\nu$.
 
  
*Jeweils gr&uuml;n hinterlegt ist die Speicherzelle ${\rm H}\big[\hspace{0.03cm} i \hspace{0.03cm}\big]$. In diesen Speicherplatz wird jeweils am Ende der Schleife (Zeile 18) die neue Zufallsgr&ouml;&szlig;e eingetragen.
+
'''(3)'''&nbsp; Die Grafik zeigt die Belegung des Hilfsfeldes mit den Zufallswerten&nbsp; $x_\nu$.
*F&uuml;r $z= 83$ und $K=6$ ergibt sich  
+
 
:$$\underline{i= 83 \mod \ 11 = 6},\hspace{1cm} \underline{j= (i+k) \mod \ 11 = 1}.$$
+
*Jeweils gr&uuml;n hinterlegt ist die Speicherzelle&nbsp; ${\rm H}\big[\hspace{0.03cm} i \hspace{0.03cm}\big]$.&nbsp; In diesen Speicherplatz wird jeweils am Ende der Schleife (Zeile 18) die neue Zufallsgr&ouml;&szlig;e eingetragen.
*Schleifendurchlaufs $z= 83$: &nbsp; In der Speicherzelle ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big]$ steht die Zufallsgr&ouml;&szlig;e $x_{84}$ und in der Speicherzelle ${\rm H}\big[\hspace{0.03cm} 1 \hspace{0.03cm}\big]$die Zufallsgr&ouml;&szlig;e $x_{90}$.  
+
*F&uuml;r&nbsp; $z= 83$&nbsp; und&nbsp; $K=6$&nbsp; ergibt sich  
*Am Ende des Schleifendurchlaufs $z= 83$ wird in ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big]$ der Inhalt $x_{84}$ durch $x_{95}$ ersetzt.
+
:$$\underline{i= 83 \hspace{-0.2cm}\mod \hspace{-0.15cm} \ 11 = 6},\hspace{1cm} \underline{j= (i+k)\hspace{-0.2cm}\mod \hspace{-0.15cm} \ 11 = 1}.$$
 +
*Schleifendurchlauf&nbsp; $z= 83$: &nbsp; In der Speicherzelle&nbsp; ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big]$&nbsp; steht die Zufallsgr&ouml;&szlig;e&nbsp; $x_{84}$&nbsp; und in der Speicherzelle&nbsp; ${\rm H}\big[\hspace{0.03cm} 1 \hspace{0.03cm}\big]$&nbsp; die Zufallsgr&ouml;&szlig;e&nbsp; $x_{90}$.  
 +
*Am Ende des Schleifendurchlaufs&nbsp; $z= 83$&nbsp; wird in&nbsp; ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big]$&nbsp; der Inhalt&nbsp; $x_{84}$&nbsp; durch&nbsp; $x_{95}$&nbsp; ersetzt.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Revision as of 17:35, 29 November 2019

C-Programm  $1$  zur AKF–Berechnung

Sie sehen nebenstehend das C–Programm „akf1” zur Berechnung der diskreten AKF-Werte  $\varphi_x(k)$  mit dem Index  $k = 0$, ... , $l$.  Hierzu ist Folgendes zu bemerken:

  • Der an das Programm übergebene Long–Wert sei  $l = 10$.  Die AKF-Werte  $\varphi_x(0)$, ... , $\varphi_x(10)$  werden mit dem Float-Feld  $\rm AKF\big[ \ \big]$  an das aufrufende Programm zurückgegeben. In den Zeilen 7 und 8 des rechts anggebenen Programms wird dieses Feld mit Nullen vorbelegt.
  • Die zu analysierenden Zufallsgrößen  $x_\nu$  werden mit der Float-Funktion  $x( \ )$  erzeugt (siehe Zeile 4).  Diese Funktion wird insgesamt  $N + l + 1 = 10011$  mal aufgerufen (Zeile 9 und 18).
  • Im Gegensatz zu dem im  Theorieteil  angegebenen Algorithmus, der im Programm  „akf2”  von  Aufgabe 4.11Z  direkt umgesetzt ist, benötigt man hier ein Hilfsfeld  ${\rm H}\big[ \ \big]$  mit nur  $l + 1 = 11$  Speicherelementen.
  • Vor Beginn des eigentlichen Berechnungsalgorithmus (Zeile 11 bis 21) stehen in den elf Speicherzellen von  ${\rm H}\big[ \ \big]$  die Zufallswerte  $x_1$, ... ,  $x_{11}$.
  • Die äußere Schleife mit der Laufvariablen  $z$  (rot markiert) wird  $N$-mal durchlaufen.
  • In der inneren Schleife  (weiß markiert)  werden mit dem Laufindex  $k = 0$, ... ,  $l$  alle Speicherzellen des Feldes  ${\rm AKF}\big[\hspace{0.03cm} k \hspace{0.03cm} \big]$  um den Beitrag  $x_\nu \cdot x_{\nu+k}$  erhöht.
  • In den Zeilen 22 und 23 werden schließlich alle AKF–Werte durch die Anzahl  $N$  der analysierten Daten dividiert.




Hinweise:



Fragebogen

1

Welche Elemente  $i$  und  $j$  des Hilfsfeldes  ${\rm H}\big[ \ \big]$  werden beim ersten Durchlauf  $(z=0)$  zur Berechnung des AKF–Wertes  $\varphi(k=6)$  verwendet?
Welche Zufallswerte  $x_\nu$  stehen in diesen Speicherzellen?

$i \ = \ $

$j \ = \ $

2

Welche Speicherzelle  ${\rm H}\big[\hspace{0.03cm} i \hspace{0.03cm} \big]$  wird nach dem ersten Schleifendurchgang  $(z=0)$  mit einer neuen Zufallsgröße  $x_\nu$  belegt?
Welcher Index  $\nu$  wird dabei eingetragen?

$i \ = \ $

$\nu\ =\ $

3

Welche Speicherelemente  ${\rm H}\big[\hspace{0.03cm} i \hspace{0.03cm} \big]$  und  ${\rm H}\big[\hspace{0.03cm} j \hspace{0.03cm} \big]$  werden beim Schleifendurchlauf  $z=83$  zur Berechnung des AKF-Wertes  $\varphi(k=6)$  verwendet?
Welche Zufallswerte stehen in diesen Speicherzellen?

$i \ = \ $

$j \ = \ $


Musterlösung

Zur numerischen AKF-Berechnung


(1)  Mit  $z= 0$  und  $k=6$  ergibt sich gemäß dem Programm:   $\underline{i= 0}$  und  $\underline{j= 6}$.

  • Die entsprechenden Speicherinhalte sind  ${\rm H}\big[\hspace{0.03cm} 0 \hspace{0.03cm}\big] = x_1$  und  ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big] = x_7$.



(2)  In das Feld  ${\rm H}\big[\hspace{0.03cm} 0 \hspace{0.03cm}\big]$  wird nun die Zufallsgröße  $x_{12}$  eingetragen:

$$\text{Speicherzelle }\underline{i= 0},\hspace{1cm}\text{Folgenindex }\underline{\nu= 12}.$$


(3)  Die Grafik zeigt die Belegung des Hilfsfeldes mit den Zufallswerten  $x_\nu$.

  • Jeweils grün hinterlegt ist die Speicherzelle  ${\rm H}\big[\hspace{0.03cm} i \hspace{0.03cm}\big]$.  In diesen Speicherplatz wird jeweils am Ende der Schleife (Zeile 18) die neue Zufallsgröße eingetragen.
  • Für  $z= 83$  und  $K=6$  ergibt sich
$$\underline{i= 83 \hspace{-0.2cm}\mod \hspace{-0.15cm} \ 11 = 6},\hspace{1cm} \underline{j= (i+k)\hspace{-0.2cm}\mod \hspace{-0.15cm} \ 11 = 1}.$$
  • Schleifendurchlauf  $z= 83$:   In der Speicherzelle  ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big]$  steht die Zufallsgröße  $x_{84}$  und in der Speicherzelle  ${\rm H}\big[\hspace{0.03cm} 1 \hspace{0.03cm}\big]$  die Zufallsgröße  $x_{90}$.
  • Am Ende des Schleifendurchlaufs  $z= 83$  wird in  ${\rm H}\big[\hspace{0.03cm} 6 \hspace{0.03cm}\big]$  der Inhalt  $x_{84}$  durch  $x_{95}$  ersetzt.