Aufgaben:Aufgabe 4.11: C-Programm „akf1”: Unterschied zwischen den Versionen
Aus LNTwww
Zeile 29: | Zeile 29: | ||
<quiz display=simple> | <quiz display=simple> | ||
− | {Welche Elemente i und j des Hilfsfeldes H[ ] werden beim ersten Durchlauf (z=0) zur Berechnung des AKF-Wertes φ(k=6) verwendet? Welche Zufallswerte xν stehen in diesen Speicherzellen? | + | {Welche Elemente i und j des Hilfsfeldes ${\rm H}[ \ ]werdenbeimerstenDurchlauf(z=0)zurBerechnungdesAKF−Wertes\varphi(k=6)verwendet?WelcheZufallswertex_\nu$ stehen in diesen Speicherzellen? |
|type="{}"} | |type="{}"} | ||
i = { 0. } | i = { 0. } | ||
Zeile 35: | Zeile 35: | ||
− | {Welche Speicherzelle H[i] wird nach dem ersten Schleifendurchgang (z=0) mit einer neuen Zufallsgröße xν belegt? Welcher Index ν wird dabei eingetragen? | + | {Welche Speicherzelle ${\rm H}[ i ]wirdnachdemerstenSchleifendurchgang(z=0)mit einer neuen Zufallsgrößex_\nubelegt?WelcherIndex\nu$ wird dabei eingetragen? |
|type="{}"} | |type="{}"} | ||
i = { 0. } | i = { 0. } | ||
− | $ | + | $\nu\ =$ { 12 } |
− | {Welche Speicherelemente H[i] und H[j] werden beim Schleifendurchlauf z=83 zur Berechnung des AKF-Wertes φ(k=6) verwendet? Welche Zufallswerte stehen in diesen Speicherzellen? | + | {Welche Speicherelemente ${\rm H}[ i ]und{\rm H}[ j ]werdenbeimSchleifendurchlaufz=83zurBerechnungdesAKF−Wertes\varphi(k=6)$ verwendet? Welche Zufallswerte stehen in diesen Speicherzellen? |
|type="{}"} | |type="{}"} | ||
i = { 6 } | i = { 6 } | ||
− | j = { | + | j = { 1 } |
Zeile 53: | Zeile 53: | ||
===Musterlösung=== | ===Musterlösung=== | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
− | + | '''(1)''' Mit $z= 0$ und $k=6$ ergibt sich gemäß dem Programm: $\underline{i= 0}$ und $\underline{j= 6}$. | |
+ | <br>Die entsprechenden Speicherinhalte sind ${\rm H}[ 0 ] = x_1$ und ${\rm H}[ 6 ] = x_7$. | ||
− | + | '''(2)''' In das Feld ${\rm H}[ 0 ]$ wird nun die Zufallsgröße $x_{12}$ eingetragen: | |
+ | :$$\text{Speicherzelle }\underline{i= 0},\hspace{1cm}\text{Folgenindex }\underline{\nu= 12}.$$ | ||
− | + | '''(3)''' Das nachfolgende Bild zeigt die Belegung des Hilfsfeldes ${\rm H}[ 0 ]$ ... ${\rm H}[ 10 ]$ mit den Zufallswerten $x_\nu$. | |
− | |||
− | :Für | + | [[Datei:P_ID417__Sto_A_4_11_b.png|Zur numerischen AKF-Berechnung]] |
+ | |||
+ | *Jeweils grün hinterlegt ist die Speicherzelle H[i]. 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 \mod 11 = 6}$ und $\underline{j= (i+k) \mod 11 = 1}$ . | ||
+ | *In diesen Speicherzellen liegen zu diesen Zeitpunkten die Zufallsgrößen $x_{84}$ und $x_{90}$. | ||
+ | *Am Ende des Schleifendurchlaufs $z= 83$ wird in ${\rm H}[ 6 ]$ der Wert $x_{84}$ durch $x_{95}$ ersetzt. | ||
{{ML-Fuß}} | {{ML-Fuß}} | ||
Version vom 26. März 2017, 11:39 Uhr
Sie sehen nebenstehend das C-Programm „akf1” zur Berechnung der diskreten AKF-Werte φ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 φx(0), ... , φx(10) werden mit dem Float-Feld AKF[ ] 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ν 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 Theoriteil angegebenen Algorithmus, der im Programm „akf2” von Zusatzaufgabe 4.11 direkt umgesetzt ist, benötigt man hier ein Hilfsfeld H[ ] mit nur l+1=11 Speicherelementen.
- Vor Beginn des eigentlichen Berechnungsalgorithmus (Zeile 11 bis 21) stehen in den 11 Speicherzellen die Zufallswerte x1, ... , x11.
- 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 AKF[k] um den Betrag xν⋅xν+k erhöht.
- In den Zeilen 22 und 23 werden schließlich alle AKF-Werte durch die Anzahl N dividiert.
Hinweise:
- Die Aufgabe gehört zum Kapitel Autokorrelationsfunktion.
- Bezug genommen wird insbesondere auf die Seite Numerische AKF-Ermittlung.
- Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
Fragebogen
Musterlösung
(1) Mit z=0 und k=6 ergibt sich gemäß dem Programm: i=0_ und j=6_.
Die entsprechenden Speicherinhalte sind H[0]=x1 und H[6]=x7.
Die entsprechenden Speicherinhalte sind H[0]=x1 und H[6]=x7.
(2) In das Feld H[0] wird nun die Zufallsgröße x12 eingetragen:
- Speicherzelle i=0_,Folgenindex ν=12_.
(3) Das nachfolgende Bild zeigt die Belegung des Hilfsfeldes H[0] ... H[10] mit den Zufallswerten xν.
- Jeweils grün hinterlegt ist die Speicherzelle H[i]. 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 \mod 11 = 6} und \underline{j= (i+k) \mod 11 = 1} .
- In diesen Speicherzellen liegen zu diesen Zeitpunkten die Zufallsgrößen x_{84} und x_{90}.
- Am Ende des Schleifendurchlaufs z= 83 wird in {\rm H}[ 6 ] der Wert x_{84} durch x_{95} ersetzt.