24.02.2014 Aufrufe

Teilchenbewegungen in el./magn. Feldern (Visualisierung)

Teilchenbewegungen in el./magn. Feldern (Visualisierung)

Teilchenbewegungen in el./magn. Feldern (Visualisierung)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

D.2 eqMotion MATLAB<br />

% digkeit kann bei Aenderung der<br />

% r<strong>el</strong>ativen E<strong>in</strong>heiten auf 1<br />

% gesetzt werden<br />

% diese Variablen werden an dieser St<strong>el</strong>le nur fuer eventu<strong>el</strong>le Erweiterungen<br />

% bzw. Anwendungen auf spezi<strong>el</strong>le F<strong>el</strong>der e<strong>in</strong>gefuehrt, durch die e<strong>in</strong>z<strong>el</strong>ne<br />

% F<strong>el</strong>dstaerke, die im GUI e<strong>in</strong>gegeben wird kann die Staerke der F<strong>el</strong>der direkt<br />

% gesteuert werden<br />

B0 = 1;<br />

E0 = 1;<br />

% globale Variablen<br />

global ode<br />

global bFi<strong>el</strong>dTyp bfi<strong>el</strong>dstrength<br />

global eFi<strong>el</strong>dTyp efi<strong>el</strong>dstrength<br />

global nLarmor<br />

% ODE Funktion<br />

% Variablen fuers B-F<strong>el</strong>d<br />

% Variablen fuers E-F<strong>el</strong>d<br />

% Anzahl der Larmorradien<br />

% Kontroll-Funktion des <strong>in</strong>itialisierenden Aufrufs<br />

switch flag<br />

case ’’<br />

% liefert dv/dt = f(t,v) zurueck<br />

varargout{1} = f(t,v);<br />

case ’<strong>in</strong>it’<br />

% liefert [tspan,y0,options] zurueck<br />

[varargout{1:3}] = <strong>in</strong>it;<br />

otherwise<br />

error([’Unknown flag ’’’ flag ’’’.’]);<br />

end<br />

function dydt = f(t,v)<br />

% ===== Bewegungsgleichung =================================================<br />

% setzen der Globalen Variablen<br />

global ode<br />

global bFi<strong>el</strong>dTyp bfi<strong>el</strong>dstrength<br />

global eFi<strong>el</strong>dTyp efi<strong>el</strong>dstrength<br />

global charge mass B0 E0 R0 m0 q<br />

%<br />

[E,B] = feval(’EandB’,v(1),v(2),v(3),t);<br />

% Hier ist die Newton’sche Bewegungsgleichung <strong>in</strong> vektori<strong>el</strong>ler Form<br />

% dargest<strong>el</strong>lt; die Positionen v(1:3,:) st<strong>el</strong>len die Position des Teilchens und<br />

% v(4:6,:) die Geschw<strong>in</strong>digkeit des Teilchens dar<br />

dydt = [ v(4,:)<br />

v(5,:)<br />

v(6,:)<br />

charge/mass*( E(1) +(v(5,:).*B(3) -v(6,:).*B(2)) )<br />

charge/mass*( E(2) +(v(6,:).*B(1) -v(4,:).*B(3)) )<br />

charge/mass*( E(3) +(v(4,:).*B(2) -v(5,:).*B(1)) )<br />

];<br />

% Diese Funktion st<strong>el</strong>lt die e<strong>in</strong>z<strong>el</strong>nen F<strong>el</strong>dstrukturen zusammen<br />

function [E,B] = EandB(x,y,z,t)<br />

global charge mass B0 E0 R0 m0<br />

global bFi<strong>el</strong>dTyp bfi<strong>el</strong>dstrength<br />

global eFi<strong>el</strong>dTyp efi<strong>el</strong>dstrength<br />

% B-FELD: Def<strong>in</strong>ition der e<strong>in</strong>z<strong>el</strong>nen F<strong>el</strong>dstrukturen<br />

switch num2str(bFi<strong>el</strong>dTyp)<br />

71

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!