DMUG-Archiv 2008

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Implementierung der Schiessmethode in MMA5.2

Lieber Kollege,

folgendes hilft:

In[154]:= Clear[x, y, nn, nu, te]
xe = 5;

te[nu_] =
 Hold[y[xe] /.
   NDSolve[{y''[x] + (2 nu + 1 - x^2) y[x] == 0, y[-5] == 4 10^-6,
     y'[-5] == 5 10^-5}, y, {x, -5, xe}]];

In[166]:= sev = FindRoot[te[nn], {nn, 1.5, 2.5}]

Out[166]= {nn -> 2.}

In[169]:= te[nn /. sev] // Release

Out[169]= {1.24106*10^-11}


Bernhard Schnizer schrieb:
Liebe Kolleginnen und Kollegen !

Ich moechte mittels der Schiessmethode die Eigenwerte einer Differentiagleichung berechnen, hier die des eindimensionalen harmonischen Oscillators mit 2 n + 1 statt n + 1/2. Dazu benutze ich * FindRoot[]*, um den Nulldurchgang der numerischen Loesung des Anfangswertproblems zu finden. Das relevante Intervall der ua. Variablen ist [-5,5].


Clear[x, y, nn, nu, te]
xe = 5;

te[nu_] := y[xe] /. NDSolve[ {y''[x] + (2 nu + 1 - x^2) y[x] == 0, y[-5] == 4 10^-6, y'[-5] == 5 10^-5}, y, {x,-5,xe}]

sev = FindRoot[te[nn],{nn, 1.9, 2.1}]

te[nn /. sev]
In MMA 4.2 funktionierte das klaglos.
In MMA 5.2 bekomme ich auch den Eigenwert,
aber vorher bekomme ich eine Fehlermitteilung.

Wie kann ich die Implementierung machen, sodass MMA5.2 und MMA 6.0 nicht ueber etwas stolpert. Ich moechte nicht einfach die Fehlermitteilungen abdrehen.
Vielen Dank fuer Ihre Hilfe !
B. Schnizer


Em. Univ.-Prof. Dr. Bernhard *Schnizer*
Institute of Theoretical and Computational Physics
Graz University of Technology
Petersgasse 16
A-8010 GRAZ
Austria, Europe

Tel:   (++43) 0316-873/8173
FAX:   (++43) 0316-873/8678
E-mail:
schnizer@XXXXXXX.at <mailto:schnizer@XXXXXXX.at> WebSite: http://itp.tugraz.at/~schnizer/ <http://itp.tugraz.at/%7Eschnizer/>






--
Robert Nowak
IMS Nanofabrication AG
Phone: +43/12144894/32
Fax: +43/12144894/99

Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html