12.02.2014 Aufrufe

Mathematik für Physiker - Numerische Physik: Modellierung

Mathematik für Physiker - Numerische Physik: Modellierung

Mathematik für Physiker - Numerische Physik: Modellierung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

510 ANHANG B. MATLAB: THE BASICS<br />

end<br />

x(i)=x(i-1) + dt*(k1+2*k2+2*k3+k4)/6;<br />

plot(t,x,’:ob’);<br />

xlabel(’Zeit t’,’Fontsize’,14);<br />

ylabel(’x’,’Fontsize’,14);<br />

title(’Runge-Kutta-Verfahren’,’Fontsize’,18);<br />

Func: rungekuttainter<br />

% Skript für Runge-Kutta mit interaktiver Eingabe der Parameter<br />

% Verwendet die Funktion rungekutta zur Lösung der DGL<br />

% die mathematische Funktion wird über eine datei definiert<br />

clear<br />

format compact % vermeidet die vielen Leerzeilen im Kommandofenster<br />

a=input(’Untere Grenze a= ’) % Eingabe der zur numerischen Lösung<br />

b=input(’Obere Grenze b= ’) % benötigten Parameter aus dem<br />

dt=input(’Schrittweite dt= ’) % Kommandofenster<br />

x0=input(’Anfangswert x0= ’)<br />

datei=input(’Datei mit dotx (Name in Hochkommata) ’)<br />

[t,x]=rungekutta(datei,a,b,dt,x0);<br />

B.6.4<br />

GUI zur numerischen Integration einer DGL<br />

Die vom GUI benötigten Funktionen sind bereits weiter oben gegeben.<br />

Func: dgl int<br />

%dgl_int<br />

%numerische Integration einer Differentialgleichung<br />

%Eingabe: Funktion<br />

% x-Start, untere Grenze des Integrtionsintervalls<br />

% x-Ende, obere Grenze des Integraionsintervalls<br />

%PopUp-Menu: Integrationsverfahren (MatLab-implementierte)<br />

%Ausgabe: Funktionsplot<br />

clear<br />

figure( ...<br />

’Name’,’<strong>Numerische</strong> Integration einer DGL’, ...<br />

’NumberTitle’,’off’);<br />

axes( ...<br />

’Units’,’normalized’, ...<br />

’Position’,[0.10 0.12 0.6 0.78], ...<br />

’FontUnits’,’Normalized’,’FontSize’,0.055);<br />

Pos = [0.75 0.8 0.2 0.05];<br />

Poshalbe = [0.75 0.8 0.1 0.05];<br />

dPos = [0 -0.1 0 0];<br />

dxPos = [0.1 0 0 0];<br />

xstart=1;xend=5;ystart=2;funk=’dglinput’;<br />

hText = uicontrol( ...<br />

’Style’,’edit’, ...<br />

’Units’,’normalized’, ...<br />

’Position’,Pos-0.5*dPos, ...<br />

’BackgroundColor’,[1 1 1], ...<br />

’String’,’dglinput’);<br />

uicontrol( ...<br />

’Style’,’text’, ...<br />

’Units’,’normalized’, ...<br />

’BackgroundColor’,[1 1 1], ...<br />

’Position’,Pos+0.5*dPos, ...<br />

’HorizontalAlignment’,’left’, ...<br />

’String’,’t-Start’);<br />

13. März 2007 c○ M.-B. Kallenrode

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!