JavaScript Übungsaufgaben Simulation mit setInterval Fuzzy Controller Einführung selfhtml Einführung HTML Copyright: 
Holzbaur, Aalen,
E-Mail an Verfasser

Beispiel zum Einsatz von HTML/JavaScript zur Simulation: Logistisches Wachstum

Simulation

Wachstumsrate in %:  Sättigung: 
Zustand/Wert:
Einzelschritte:
10 Schritte:
Unendlich:
Zurücksetzen:

Beschreibung:

Das folgende Fomular beschreibt das logistische Wachstum nach der Formel 
z´ = z*w*( 1 - z/s) 
allgemeiner: z´ = f (z, p1, p2) die Formel f ist in simul_f.js ausgelagert. 
Sie können also gerne mit der Formel experimentieren. 

.

Quelle für die Dynamik:

 
function dynamik()  {
         var x = document.D.Wert.value;
         p1 = document.D.max.value;
         p2 = document.D.Wachstum.value/100;
        dt = 1;
        var xpunkt = f (x, p1, p2);
        document.D.Wert.value = 1.0 * x + 1.0 * xpunkt * dt ;
     }
beachte: wenn in der Formel zuerst ein + steht, 
wird eine string-concatenation durchgeführt. 
Die Formel  x + xpunkt  * dt  funktioniert deshalb nicht. 
  1.0 * x + 1.0 * xpunkt * dt   funktioniert

Zurück zum Seitenanfang

Quelle für die Bewegungsfunktion f:

     function f (x, p1, p2)    {
         xd = x * p2 * (1 - x/p1 );
         return xd
     }

Zurück zum Seitenanfang

Quelle für die verschiedenen Simulationsmethoden (Mehrschritt, Endlos):

function Simulieren()
     {
     dynamik();
     if(document.D.lauf.value>0) {window.setTimeout("Simulieren()",500)}
}
 

function zehnmal() {
         for(i = 1; i <= 10; i++)  {
          dynamik();
          for(j = 1; j <= 5000; j++);   Zeitschleife zur Verzögerung
        }
}
Zurück zum Seitenanfang

Eingabeformular für die Simulation

<FORM name="D">
Wachstumsrate in %:  <INPUT size=4 name="Wachstum" value=50 >
Sättigung:  <INPUT size=12 name="max" value=10>
Zustand/Wert:   <INPUT type=float  size=20 name="Wert" value=1>
Einzelschritte: <INPUT type=button value="Dynamik rechnen"  onClick="dynamik()">
10 Schritte <INPUT type=button value="System simulieren" onClick="zehnmal()">
Unendlich: <INPUT type=button value="System simulieren" onClick="lauf.value=1;Simulieren()">
 <INPUT size=1 name="lauf" value=0>
<INPUT type=button value="Stop" onClick="lauf.value=0">
Zurücksetzen: <INPUT type=button value="Ausgangszustand " onClick="document.D.Wert.value=1">
</FORM>
Zurück zum Seitenanfang
 
 





v: UDH 22.12.2000 Diese Datei ist Teil eines Frameset