Das vorliegende Programm berechnet den Reflexions- und Transmissionskoeffizient von ebenen monochromatischen Wellen, die auf einen Plattenstapel mit beliebig vielen Schichten fallen. Die theoretischen Grundlagen sind dem Skriptum Elektrodynamik und Elektromagnetische Wellenausbreitung I von Prof. Walter Papousek zu entnehmen. Die beiden Koeffizienten können als Funktion der Wellenlänge des einfallenden Lichts, des Einfallswinkel sowie der Dicke einzelner Schichten dargestellt werden. Dabei ist es möglich, die beiden Koeffizienten als Funktion von 2 beliebigen Variablen darzustellen. Zusätzlich kann man zwischen s-Polarisation, p-Polarisation, keiner Polarisationsrichtung und einem beliebigen Verhältnis zwischen den Amplituden Ax und Ay des elektrischen Feldes wählen. Einzugeben sind Startwert, Schrittweite und Endwert. Wichtig zu erwähnen ist, daß die Wellenlänge nur von 350 bis 850 nm in 1 nm Schritten plottbar ist. Jene Parameter, die konstant gehalten werden sollen, müssen angeklickt werden und im rechtesten der 4 Felder der konstante Wert eingegeben werden. Es können 1 oder 2 Parameter variabel gelassen werden. Nach dem Aufrufen des Programms mit Start erscheint ein Menü mit 3 Optionen. Bei Dispersionskurven zeichnen, kann man den Brechungsindex und Extinktionskoeffizienten der zur Verfügung stehenden Materialien in Abhängigkeit von der Wellenlänge betrachten. Neues Materia definieren gestattet es, eine analytische Funktion für Brechungsindex und Extinktionskoeffizient einzugeben. Diese Funktion muß l (Lambda in Nanometer) als Variable beinhalten und so geschrieben sein, daß sie von Matlab verarbeitet werden kann. Mit Plattenstapel definieren hat der Benützer die Möglichkeit, Schichten beliebiger Dicke aneinander zu reihen. Die erste und letzte Schicht sind die oberen und unteren Halbräume, für ihre Dicke ist inf (für Infinity) einzugeben, wird etwas anderes eingegeben, so ist das kein Problem, weil diese Werte nicht in der weiteren Berechnung vorkommen.Die Schichtdicke ist sonst in nm einzugeben. Der Einfallswinkel wird in Grad eingegeben und kann zwischen +90° und -90° vom Lot variieren. Hat man die Schichten definiert, kommt man mit "weiter" zu einer zusammenfassenden Darstellung des Plattenstapels. Mit "Graphische Darstellung" gelangt man zu einem Menü, mit dessen Hilfe man die Art der Darstellung aussuchen kann. Wie bereits erwähnt, dürfen 1 oder 2 Parameter variabel gelassen werden. Die Werte der Schichtdicken müssen positiv sein, die Schritte kleiner als Endwert-Startwert, die Schrittweite der Wellenlänge ganzzahlig und >=1, der Winkel ist in Radiant einzugeben. Klickt man interpolieren an, verschwindet das Gitternetz in den 3 dimensionalen Abbildungen, der Button rechts neben der Interpolationsoption erlaubt es, andere Farbdarstellungen für 3D Graphiken zu wählen. In Datenfiles befinden sich Wellenlänge und dazugehörige Brechungsindizes sowie Extinktionskoeffizienten einiger Materialien.Wir ein Plattenstapel definiert, werden alle diese Daten in die Matrix matnk eingelesen und an die Functions übergeben (die k-Vektoren, deren z-Komponenten, die Fresnell-koeffizienten, sowie Reflexions- und Transmissionskoeffizienten) Zusätzöich werden noch Einfallswinkel sowie ein Vektor mit den Schichtdicken übergeben, weiters die Amplituden Ax und Ay des Vektors der elektrischen Feldstärke. Am aufwendigsten war die Programmierung der Fresnell-koeffizienten, da diese rekursiv definiert werden. Siehe Unterprogramme: rmn, rmnq, tmn, tmnq. Interessant ist noch zu erwähnen, daß man selbst eine Formel für n und kappa definieren kann und als string eingeben kann. Mit dem Befehl "eval" wird dem string Leben eingehaucht und kann als Formel von Matlab gelesen werden.