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

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

Aus LNTwww
Wechseln zu:Navigation, Suche
K (Textersetzung - „\*\s*Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0\.” ein.“ durch „ “)
Zeile 3: Zeile 3:
 
}}
 
}}
  
[[Datei:P_ID391__Sto_A_4_11.png|right|C-Programm 1 zur AKF-Berechnung]]
+
[[Datei:P_ID391__Sto_A_4_11.png|right|frame|C-Programm 1 zur AKF–Berechnung]]
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:
+
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.
+
* Der an das Programm übergebene Long–Wert sei l=10. Die AKF-Werte φx(0), ... , φ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ν werden mit der Float-Funktion x( ) erzeugt (siehe Zeile 4). Diese Funktion wird insgesamt N+l+1=10011 mal aufgerufen (Zeile 9 und 18).
 
* 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 [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Theoriteil]] angegebenen Algorithmus, der im Programm „akf2” von [[Aufgaben:4.11Z_C-Programm_„akf2”|Zusatzaufgabe 4.11]] direkt umgesetzt ist, benötigt man hier ein Hilfsfeld H[ ] mit nur l+1=11 Speicherelementen.
+
* Im Gegensatz zu dem im [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Theoriteil]] angegebenen Algorithmus, der im Programm „akf2” von [[Aufgaben:4.11Z_C-Programm_„akf2”|Aufgabe 4.11Z]] direkt umgesetzt ist, benötigt man hier ein Hilfsfeld $H\big[ \  \big]mitnurl + 1 = 11$ Speicherelementen.
 +
 
 +
* Vor Beginn des eigentlichen Berechnungsalgorithmus (Zeile 11 bis 21) stehen in den elf Speicherzellen von H[ ] 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.  
  
* 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.
 
  
  
Zeile 29: Zeile 33:
  
 
<quiz display=simple>
 
<quiz display=simple>
{Welche Elemente i und j  des Hilfsfeldes ${\rm H}[ \  ]werdenbeimerstenDurchlauf(z=0)$ zur Berechnung des AKF-Wertes φ(k=6) verwendet? Welche Zufallswerte xν stehen in diesen Speicherzellen?
+
{Welche Elemente i und j  des Hilfsfeldes $H\big[ \  \big]werdenbeimerstenDurchlauf(z=0)$ zur Berechnung des AKF&ndash;Wertes φ(k=6) verwendet? <br>Welche Zufallswerte xν stehen in diesen Speicherzellen?
 
|type="{}"}
 
|type="{}"}
i =  { 0. }
+
$i \ = \ $  { 0. }
j = { 6 }
+
$j \ = \ $ { 6 }
  
  
{Welche Speicherzelle  H[i] wird nach dem ersten Schleifendurchgang (z=0) mit einer neuen Zufallsgr&ouml;&szlig;e xν belegt? Welcher Index ν wird dabei eingetragen?
+
{Welche Speicherzelle  ${\rm H}\big[\hspace{0.03cm} i \hspace{0.03cm} \big]wirdnachdemerstenSchleifendurchgang(z=0)mit einer neuen Zufallsgr&ouml;&szlig;ex_\nu$ belegt? <br>Welcher Index ν wird dabei eingetragen?
 
|type="{}"}
 
|type="{}"}
i =  { 0. }
+
$i \ = \ $  { 0. }
ν = { 12 }
+
$\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}\big[\hspace{0.03cm} i \hspace{0.03cm} \big]und{\rm H}\big[\hspace{0.03cm} j \hspace{0.03cm} \big]werdenbeimSchleifendurchlaufz=83zurBerechnungdesAKFWertes\varphi(k=6)$ verwendet? <br>Welche Zufallswerte stehen in diesen Speicherzellen?
 
|type="{}"}
 
|type="{}"}
i =  { 6 }
+
$i \ = \ $  { 6 }
j = { 1 }
+
$j \ = \ $ { 1 }
  
  

Version vom 18. August 2018, 16:44 Uhr

C-Programm 1 zur AKF–Berechnung

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 Aufgabe 4.11Z 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 elf Speicherzellen von H[ ] 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:



Fragebogen

1

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?

i = 

j = 

2

Welche Speicherzelle H[i] wird nach dem ersten Schleifendurchgang (z=0) mit einer neuen Zufallsgröße xν belegt?
Welcher Index ν wird dabei eingetragen?

i = 

ν = 

3

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?

i = 

j = 


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.

(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ν.

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.