1000)){ $dur=60; } # #Anfangswert: $x0=400; $v0=0; # k-Wert $kw=2*M_PI/$dur; $kw=$kw*$kw; # Funktion definieren function funcdgl ($t,$x,$v) { global $kw, $lw; $dummy=-$kw*$x; return $dummy; } # stroke-dasharray-Weglaenge $ssum = 0; # values und Pfad berechnen $x=$x0; $v=$v0; $values="$x"; $px=round($x); $pfad="M$px,100L"; $dash="0,1E6"; $dt=$dur/$anz; $vorherx=$px; $vorhery=100; # for ($j = 1; $j <= $anz; $j++) { $y=800/$anz*$j; $t=$dt*$j; $kutta1=funcdgl($t,$x,$v); $kutta2=funcdgl($t+$dt/2.0,$x+$v*$dt/2.0+$kutta1/8.0*$dt*$dt,$v+$kutta1*$dt/2.0); $kutta3=funcdgl($t+$dt/2.0,$x+$v*$dt/2.0+$kutta1/8.0*$dt*$dt,$v+$kutta2*$dt/2.0); $kutta4=funcdgl($t+$dt,$x+$v*$dt+$kutta3/2.0*$dt*$dt,$v+$kutta3*$dt); $x=$x +$v*$dt+$dt*$dt*($kutta1+$kutta2+$kutta3)/6.0; $v=$v+$dt*($kutta1+2.0*$kutta2+2.0*$kutta3+$kutta4)/6.0; $px=round($x); $ppx=round($x); $py=round(100+$y); $values .=";$ppx"; $pfad .=" $px,$py"; $hx=$px-$vorherx; $hy=$py-$vorhery; $ssum = $ssum+sqrt($hx*$hx+$hy*$hy); $vorherx=$px; $vorhery=$py; $psum=round($ssum); $dash .=";$psum,1E6"; } # svg-header senden: $content="Content-type: image/svg+xml"; header($content); # Sicherstellen dass dann auch neu vom server geladen wird: header($content); # xml-Zeile ausgeben echo ""; # und jetzt das Dokument ?> Numerische Lösung einer Differentialgleichung Ein harmonischer Oszillator als Lösung einer numerischen Berechnung einer Differentialgleichung. 2) { ?> " xlink:title="Schrittzahl um 1 erniedrigen"> " xlink:title="Schrittzahl um 1 erhöhen"> O H 2006