Aufgaben:Aufgabe 4.11: C-Programm „akf1”: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
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 $\varphi(k=6)$ verwendet? Welche Zufallswerte $x_\nu$ stehen in diesen Speicherzellen?
+
{Welche Elemente $i$ und $j$  des Hilfsfeldes ${\rm H}[ \  ]$ werden beim ersten Durchlauf $(z=0)$ zur Berechnung des AKF-Wertes $\varphi(k=6)$ verwendet? Welche Zufallswerte $x_\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&ouml;&szlig;e $x_\nu$ belegt? Welcher Index $\nu$ wird dabei eingetragen?
+
{Welche Speicherzelle  ${\rm H}[ i ]$ wird nach dem ersten Schleifendurchgang $(z=0)$ mit einer neuen Zufallsgr&ouml;&szlig;e $x_\nu$ belegt? Welcher Index $\nu$ wird dabei eingetragen?
 
|type="{}"}
 
|type="{}"}
 
$i \ = $  { 0. }
 
$i \ = $  { 0. }
$v \ = { 12 }
+
$\nu\ =$ { 12 }
  
  
{Welche Speicherelemente $H[ i ]$ und $H[ j ]$ werden beim Schleifendurchlauf $z=83$ zur Berechnung des AKF-Wertes $\varphi(k=6)$ verwendet? Welche Zufallswerte stehen in diesen Speicherzellen?
+
{Welche Speicherelemente ${\rm H}[ i ]$ und ${\rm H}[ j ]$ werden beim Schleifendurchlauf $z=83$ zur Berechnung des AKF-Wertes $\varphi(k=6)$ verwendet? Welche Zufallswerte stehen in diesen Speicherzellen?
 
|type="{}"}
 
|type="{}"}
 
$i \ = $  { 6 }
 
$i \ = $  { 6 }
$j \ = $ { 11 }
+
$j \ = $ { 1 }
  
  
Zeile 53: Zeile 53:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
:<b>1.</b>&nbsp;&nbsp;Aus <i>z</i> = 0 und <i>k</i> = 6 ergibt sich gem&auml;&szlig; dem Programm: <u><i>i</i> = 0</u> und <u><i>j</i> = 6</u>. Die entsprechenden Speicherinhalte sind <i>H</i>[0] = <i>x</i><sub>1</sub> und <i>H</i>[6] = <i>x</i><sub>7</sub>.
+
'''(1)'''&nbsp; Mit  $z= 0$ und $k=6$ ergibt sich gem&auml;&szlig; 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$.
  
:<b>2.</b>&nbsp; &nbsp;In das Feld <i>H</i>[0] wird die Zufallsgr&ouml;&szlig;e <i>x</i><sub>12</sub> eingetragen: <u><i>i</i> = 0, Index <i>&nu;</i> = 12</u>.
+
'''(2)'''&nbsp; In das Feld ${\rm H}[ 0 ]$ wird nun die Zufallsgr&ouml;&szlig;e $x_{12}$ eingetragen:
 +
:$$\text{Speicherzelle  }\underline{i= 0},\hspace{1cm}\text{Folgenindex  }\underline{\nu= 12}.$$
  
:<b>3.</b>&nbsp;&nbsp;Das nachfolgende Bild zeigt die Belegung des Hilfsfeldes <i>H</i>[0] ... <i>H</i>[10] mit den Zufallswerten <i>x<sub>&nu;</sub></i>. Jeweils gr&uuml;n hinterlegt ist die Speicherzelle <i>H</i>[<i>i</i>]. In diesen Speicherplatz wird jeweils am Ende der Schleife (Zeile 18) die neue Zufallsgr&ouml;&szlig;e eingetragen.
+
'''(3)'''&nbsp; Das nachfolgende Bild zeigt die Belegung des Hilfsfeldes ${\rm H}[ 0 ]$ ... ${\rm H}[ 10 ]$ mit den Zufallswerten $x_\nu$.  
[[Datei:P_ID417__Sto_A_4_11_b.png|center|]]
 
  
:F&uuml;r <i>z</i> = 83 und <i>k</i> = 6 ergibt sich <u><i>i</i> = 83 mod 11 = 6</u> und <u><i>j</i> = (<i>i</i> + <i>k</i>) mod 11 = 1</u>. In diesen Speicherzellen liegen die Zufallsgr&ouml;&szlig;en <i>x</i><sub>84</sub> und <i>x</i><sub>90</sub>. Am Ende des Schleifendurchlaufs <i>z</i> = 83 wird in <i>H</i>[6] der Wert <i>x</i><sub>84</sub> durch <i>x</i><sub>95</sub> ersetzt.
+
[[Datei:P_ID417__Sto_A_4_11_b.png|Zur numerischen AKF-Berechnung]]
 +
 
 +
*Jeweils gr&uuml;n hinterlegt ist die Speicherzelle ${\rm H}[ i ]$. In diesen Speicherplatz wird jeweils am Ende der Schleife (Zeile 18) die neue Zufallsgr&ouml;&szlig;e eingetragen.
 +
*F&uuml;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&ouml;&szlig;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

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[ \ ]$ 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 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 $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}[ k ]$ um den Betrag $x_\nu \cdot x_{\nu+k}$ erhöht.
  • In den Zeilen 22 und 23 werden schließlich alle AKF-Werte durch die Anzahl $N$ dividiert.


Hinweise:


Fragebogen

1

Welche Elemente $i$ und $j$ des Hilfsfeldes ${\rm H}[ \ ]$ 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}[ i ]$ 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}[ i ]$ und ${\rm H}[ j ]$ werden beim Schleifendurchlauf $z=83$ zur Berechnung des AKF-Wertes $\varphi(k=6)$ verwendet? Welche Zufallswerte stehen in diesen Speicherzellen?

$i \ = $

$j \ = $


Musterlösung

(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}[ 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$.

Zur numerischen AKF-Berechnung

  • Jeweils grün hinterlegt ist die Speicherzelle ${\rm 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.