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

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

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

B.6. MATLAB SKIPTE, FUNKTIONEN UND GUIS: QUELLCODE 505<br />

I=sum(deltx*y);<br />

Func: trapezgui<br />

function I = trapezgui(f,a,b,M)<br />

deltx=(b-a)/M; x=[a:deltx:b];<br />

y=eval(f);<br />

for k=1:M<br />

yy(k) = (y(k)+y(k+1))*deltx/2;<br />

end<br />

I=sum(yy);<br />

Func: simpsongui<br />

function I = simpsongui(f,a,b,M)<br />

deltx=(b-a)/M;<br />

x=[a+deltx/2:deltx:b-deltx/2];ym=eval(f);<br />

x=[a:deltx:b];y=eval(f);<br />

for k=1:M<br />

yy(k) = (y(k)+4*ym(k)+y(k+1))*deltx/6;<br />

end<br />

I=sum(yy);<br />

B.6.3<br />

<strong>Numerische</strong> Verfahren handgestrickt<br />

Skript: eulerskript<br />

% Beispiel zur numerischen Integration einer gewöhnlichen<br />

% Differentialgleichung nach dem Euler’schen Streckenzugverfahren. Als<br />

% Funktion wird das beispiel aus dem Skript verwendet; es erfolgt ein<br />

% Vergleich mit der analytischen Lösung.<br />

clear; clf<br />

%Löschen alter Variablen und alte Abbildung<br />

% Festlegung von Integrationsintervall und Schrittweite<br />

tl = 1.; % untere Grenze des Integrationsintervalls<br />

tr = 5.; % obere Grenze des Integrationsintervalls<br />

dt = 0.2; % Schrittweite des numerischen Schemas<br />

fh = @(t,x) (t.^2+4+x)/t; % Definition der Funktion über ein Handle<br />

% Erzeugen der analytischen Lösung im Integrationsintervall an den<br />

% Stützstellen, die auch von der numerischen Lösung benutzt werden<br />

t=[tl:dt:tr];<br />

xanalytisch=t.^2-4+5.*t;<br />

%%%%%%%%%%%%%%<strong>Numerische</strong> Lösung%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br />

x(1)=2; % Randbedingung vorgeben<br />

for i=2:length(t);<br />

x(i)=x(i-1) + dt*feval(fh,t(i-1),x(i-1));<br />

end<br />

%%%%%%%%%%%%%%%Ende numerische Lösung%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br />

% Darstellung von numerischer und analytischer Lösung<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!