Teilchenbewegungen in el./magn. Feldern (Visualisierung)
Teilchenbewegungen in el./magn. Feldern (Visualisierung)
Teilchenbewegungen in el./magn. Feldern (Visualisierung)
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