Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Schrödingergleichung mit (harm.) Potential
Autor
Universität/Hochschule J Schrödingergleichung mit (harm.) Potential
Neodym342
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.10.2015
Mitteilungen: 145
  Themenstart: 2017-07-04

Hallo, meine Aufgabe ist es die Schrödingergleichung http://matheplanet.com/matheplanet/nuke/html/uploads/b/44146_schr_d.PNG mit dem Potential http://matheplanet.com/matheplanet/nuke/html/uploads/b/44146_1_potential.PNG numerisch zu lösen bzw. die ersten 5 Eigenfunktionen zu finden mittels ode45. Wobei $\alpha=1$ oder $\alpha=2$. Weiterhin gilt $\psi(-R)=0$ und $\psi'(-R)=1e-10 $. Und ich soll jetzt erstmal $\psi$ für den ganzen Bereich von -R bis R finden. Dafür dachte ich mir wandel ich die DGL 2. Ordnung erstmal in DGL 1. Ordnung um. $\psi_1'=\psi_2$ $\psi_2'=\frac{2m}{hbar^2}(V(x)-E)\psi_1$ Ich bin jetzt aber irgendwie nicht sicher, wie ich diese DGL lösen soll, weil V(x) ja auch von x abhängt. Mein Versuch, der nicht funktioniert: \sourceon Matlab k = (2*pi)^2; %federkonstante m = 1; %masse alpha=2; %harm. Oszillator N=600; R=3; %breite hbar = 1; E=3*ones(1,600); x=linspace(-R,R,N); V = k/gamma(alpha+1)*abs(x).^alpha; %potential R = 3; psi0=[0;1e-10]; %Anfangsbedingungen f=@(t,y) [y(2); 2*m/hbar^2*(V-E)*y(1)]; %DGL t = [-3 3]; %geht das mit negativen Werten? [tOut,yOut] = ode45(f,t,psi0); %DGL lösen \sourceoff Dabei sollen wir erst einen Wert für E wählen und dann Nullstelle von $\psi(+R)=f(E)$ finden. Wie man sieht habe ich versucht V für x zwischen -R und R zu berechnen und dann so in die DGL einzubauen. Wäre froh, wenn jemand eine Idee hat. Grüße EDIT: Konnte es wahrscheinlich lösen, werde es dann hier posten.


   Profil
Neodym342
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.10.2015
Mitteilungen: 145
  Beitrag No.1, vom Themenstarter, eingetragen 2017-07-05

Also habe die Aufgabe gestern etwas falsch interpretiert. Das entspricht ja der "shooting Method". \sourceon Matlab function [yOut,xOut]=findPsi0(E) psi0=[0;1e-10]; x = [-R R]; f=@(x,y) [y(2); 2*m/hbar^2*(k/gamma(alpha+1)*abs(x)^alpha-E)*y(1)]; [xOut,yOut] = ode45(f,x,psi0,options); end \sourceoff Man muss diese Funktion für $y(+R)=f(E)$ minimieren, was dann leicht ist mit dem Befehl fzero. (Also das ist jetzt nicht der ganze Code.) Falls mal jmd drüberstolpert weiß er jetzt weiter :-D


   Profil
Neodym342 hat selbst das Ok-Häkchen gesetzt.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]