Hallo,
wir beschaeftigen uns zur Zeit mit finiten
Differenzen und muessen aus diesem Grund grosse
Listen verarbeiten. Dabei handelt es sich um
gekoppelte Differenzielgleichungen in y und t, die geloest werden
muessen.
Ich habe z.B. 4001
Stuetzstellen in y und initiiere den ersten Schritt :
M = 4000;
v[0] =
Table[....,{i,1,M+1}];
tau[0] =
Table[...,{i,1,M+1}];
tet[0] =
Table[...,{i,1,M+1}];
Ich belege fuer jeden Zeitschritt
eine Liste der Laenge M+1.
Fuer die Zeitschritte von 1 bis nstep
wird eine Schleife durchlaufen :
Do[
v[n+1] = v[n] +
lam (tauy[n]+ k);
tau[n+1] = tau[n]
+ ......;
tet[n+1] = v[n] +
.... + tauyy[n] ......;
, {n, 0, nstep}];
Mein Problem ist das die Schleife
(ich habe schon alle moeglichen Konstrukte mit
Do, For, While durchgespielt) nur bis
zu einem bestimmten Punkt durchgearbeitet
wird und dann aaufhoert. Mathematica
bleibt einfach stehen. Es wird nur ein Teil vom
Hauptspeicher benutzt (also keine
Auslastung) und die CPU wird stark belastet.
Wenn ich die Felder v[n], tet[n] und
tau[n] mit n = 0, nstep vorher definieren mit 1.
tritt der gleiche Effekt
auf.
Hat jemand eine Erklaerung
?
Ich wuerde mich sehr ueber eine
Antwort freuen.
mfG. Cetin
Haftaoglu
BAM
Berlin
|