07.12.2012 Aufrufe

ASAXS - Helmholtz-Zentrum Berlin

ASAXS - Helmholtz-Zentrum Berlin

ASAXS - Helmholtz-Zentrum Berlin

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.

8 Nanostruktur und nanochemische Analyse der getemperten Glaskeramiken<br />

auch für den lokalen Volumenanteil ν. Demzufolge müssen diese fünf Parameter für alle 24<br />

Streukurven (verschiedene Röntgenenergien) exakt gleich sein, d. h., für die Regression werden<br />

5 anstelle von 24*5 = 120 Parametern benötigt.<br />

Der Streukontrast ∆ρ(E) sowie die Untergrundstreuung beschreibenden Parameter c0(E),<br />

c1(E) und c2(E) hängen von der Röntgenenergie E ab, d. h., für die 24 Streukurven werden<br />

96 energieabhängige Parameter benötigt. Insgesamt benötigt eine simultane nichtlineare<br />

Regression der differenziellen Streuquerschnitte 101 Parameter im Gegensatz zu 216 Parametern,<br />

wenn die Regression einzeln für jede Energie durchgeführt wird. Für eine simultane<br />

nichtlineare Regression aller Streukurven ergibt sich ein Verhältnis von Stützstellen zu freien<br />

Parametern von 35.6. Das entspricht effektiv 4.3 Parametern pro Streukurve im Gegensatz zu<br />

9 bei einer separaten Regression.<br />

Für die Umsetzung der simultanen nichtlinearen Regression wurde ein objektorientiertes<br />

Programm in der Programmiersprache Matlab entwickelt, welches universell eingesetzt werden<br />

kann. Das grundlegende Konzept der Matlab-Klasse 1 wird im Folgenden vorgestellt. Das<br />

Programm minimiert das wie folgt definierte Chi-Quadrat<br />

χ 2 = � �<br />

i<br />

j<br />

�<br />

Y (qi, Ej, � P , � Qj) − dσ<br />

dΩ (qi,<br />

�2 Ej)<br />

. (8.13)<br />

δ(qi, Ej)<br />

Die experimentell gemessenen differenziellen Streuquerschnitte sind durch dσ/dΩ(qi, Ej) und<br />

die dazugehörigen Messfehler durch δ(qi, Ej) gegeben. Die anzugleichenden Modellstreukurven<br />

sind durch die Funktion Y (...) gegeben. Hierfür ist es zweckmäßig, zwei Vektoren einzuführen,<br />

welche die benötigten Parameter definieren. Der Vektor � P definiert alle energieunabhängigen<br />

Parameter. Im Folgenden werden diese als globale Parameter bezeichnet. Der Vektor � Qj definiert<br />

die energieabhängigen Parameter bei der j-ten Energie Ej (lokale Parameter). Für die<br />

untersuchten Glaskeramiken ist die Funktion Y (...) durch Gleichung (8.7) gegeben. Die beiden<br />

Vektoren � P und � Qj sind wie folgt definiert<br />

�P = (µ, σ, ζ, κ, ν) T � Qj = (∆ρ(Ej), c0(Ej), c1(Ej), c2(Ej)) T . (8.14)<br />

Die entwickelte Matlab-Klasse beinhaltet eine Vielzahl von numerischen Algorithmen zum<br />

Berechnen von Y (...) sowie zur Minimierung des Chi-Quadrats (Gleichung (8.13)), welche<br />

teilweise im nächsten Abschnitt vorgestellt werden.<br />

Die Matlab-Klasse ist universell entwickelt worden, d. h., die nichtlineare Regression ist<br />

von der Definition der Modellfunktion entkoppelt. Dieses ermöglicht es, in wenigen Schritten<br />

neue Modellfunktionen einzubinden. Dabei spielt es keine Rolle, wie viele Streukurven<br />

simultan angeglichen werden müssen. Ein Test mit 60 Streukurven wurde erfolgreich durchgeführt.<br />

Prinzipiell gibt es keine Limits für die Anzahl, jedoch wird die benötigte Rechendauer<br />

dementsprechend länger, was die Anzahl letztendlich limitiert. Die entwickelte Matlab-Klasse<br />

wird Ausgangspunkt einer Auswertesoftware für <strong>ASAXS</strong>-Experimente sein. Eine ausführliche<br />

Beschreibung der Eigenschaften und Funktionen der Matlab-Klasse wird in der Anleitung zu<br />

dieser Software veröffentlicht werden. Die Matlab-Klasse beinhaltet in der aktuellen Version<br />

1.0 ein Tool zur Simulation von <strong>ASAXS</strong>-Experimenten, welches weiter entwickelt werden soll.<br />

Diese Option soll es ermöglichen, <strong>ASAXS</strong>-Experimente zu simulieren, um eventuell notwendige<br />

Änderungen am Probensystem im Vorfeld eines Experimentes durchführen zu können.<br />

1 Klasse - objektorientierte Datentypstruktur in Matlab oder C++.<br />

96

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!