Einführung in die Grundlagen der Numerik und das Programmieren unter Unix/Linux
Iterative Verfahren zur Bestimmung von Nullstellen
Finite Differenzen Methode zur Lösung der Advektionsgleichung
{{{!#python
from pylab import *
L=100 #raeumlich M=500 #zeitschritte #c=0.1 #oder unten als sinus def dx=1./L dt=1./10 X=linspace(0,1,L) u=zeros((M,L)) u[0,:]=exp(-500*(X-0.5)**2) #gaussfunktion #u[0,45:55]=1. #rechteck
ion() figure() line,=plot(X,u[0,:])
for n in range(M-1):
- c=0.1*cos((n*dt)/10*pi) CFL=c*dt/dx for j in range(L-1):
if CFL>0:
- u[n+1,j]=u[n,j]-CFL*(u[n,j]-u[n,j-1])
- u[n+1,j]=u[n,j]-CFL*(u[n,j+1]-u[n,j])
}}}