Programmierung von CAx-Systemen Teil II

Größe: px
Ab Seite anzeigen:

Download "Programmierung von CAx-Systemen Teil II"

Transkript

1 Programmierung von CAx-Systemen Teil II MATLAB-Simulink Schnittstellen zu anderen Systemen Prof. Dr. Jakob Reichl 1

2 Programmierung von CAx Systemen Gliederung Termin Ort Inhalt 1 Pr 19. MATLAB wiederholen: Aufgabe zur Kurvendiskussion von Polynomen lösen (InfoBA K1 K6) MATLAB wiederholen: Lineare Algebra und Differentialgleichungen (InfoBA K7 K8) 3 Pr 9.4. Schwingerkette mit N Massen Eigenwert Eigenvektorproblem aufstellen und lösen System gekoppelter Differentialgleichungen erster Ordnung aufstellen und lösen Lösungen graphisch darstellen 4 V Strukturen, Cell Arrays Wichtige Strukturen und Cell Arrays in MATLAB 5 Pr Dateien : ASCII Files, MATLAB Files und Excel Files Zugriff (Lesen und Schreiben) mit Hilfe von MATLAB 6 V C Programm unter MATLAB ausführen : MATLAB übergibt Daten an ein C Programm; die Daten werden vom C Programm verarbeitet und das Ergebnis wird an MATLAB zurückgegeben mexfunction 7 V 7.5. HDF5 Struktur, einfache MATLAB Funktionen für HDF5 Files 8 9 Pr Simulink wiederholen: (InfoBA K9) Schwingerkette mit N Massen mit Hilfe von Simulink lösen 10 V S Funktionen Simulink Block führt ein C Programm aus 11 Pr S Funktionen 12 V Lookup Tables 13 V 2.7. Fragen und Aufgaben 2

3 Termin 1+2 : MATLAB wiederholen Wiederholung Vorlesung Ingenieurinformatik Teil 2 Kapitel 1 : Einführung in MATLAB Kapitel 2 : Felder Arrays Kapitel 3 : Funktionen und MATLAB Skripte Kapitel 4 : Kontrollstrukturen und Bedingungen Kapitel 5 : Datentypen Kapitel 6 : Anwendungen aus der Analysis Praktikum 1 : MATLAB Entwicklungsumgebung Praktikum 2 : Ein und Ausgabe Funktionen zeichnen Praktikum 3 : Debugger und Kontrollstrukturen Die einzelnen Kapitel sollen selbständig während des Praktikums und zu Hause durchgearbeitet werden, d.h. Befehle abtippen, Befehle modifizieren, einzelne Übungsaufgaben im Skript lösen. Skript siehe : X:\Dozenten\Ingenieurinformatik\Matlab 3

4 Aufgaben für Termin 1+2 Termin 1+2 : MATLAB wiederholen MATLAB/Simulink installieren Inhalte von Kapitel 1 6 und Praktikum 1 3 verstehen Aufgabe : Kurvendiskussion eigene Lösung erstellen und vorführen Siehe : X:\Dozenten\Reichl\Cax\Aufgaben\kurvendiskussion.pdf 4

5 Termin 3 : MATLAB wiederholen Wiederholung Vorlesung Ingenieurinformatik Teil 2 Kapitel 7 : Lineare Algebra Kapitel 8 : Numerische Lösung von Differentialgleichungen Praktikum 4 : Gleichungssysteme, Eigenwerte und Eigenvektoren Praktikum 5 : Numerische Lösung von Differentialgleichungen Die einzelnen Kapitel sollen selbständig während des Praktikums und zu Hause durchgearbeitet werden, d.h. Befehle abtippen, Befehle modifizieren, einzelne Übungsaufgaben im Skript lösen. Aufgabe für Termin 3 Inhalte von Kapitel 7 8 und Praktikum 4 5 verstehen Aufgabe : Schwingerkette eigene Lösung erstellen und vorführen Siehe : X:\Dozenten\Reichl\Cax\Aufgaben\schwingerkette.pdf 5

6 Termin 3 : Was ist MATLAB / Simulink? Im Skript zur Ingenieurinformatik werden die Parameter einer DGL über globale Variablen gesetzt und gelesen. Globale Variablen sollten aber möglichst vermieden werden, weil diese Programme unflexibel und fehleranfällig machen. An die Funktion ode45 (und viele andere Lösungsverfahren) können zusätzliche Parameter übergeben werden. Die zusätzlichen Parameter müssen bei ode45 nach dem Parameter options eingefügt werden bei fdgl nach dem Parameter y. Die zusätzlichen Parameter bei ode45 und fdgl müssen zusammenpassen. Bisher : global p1 p2... [t,y]=ode45(@fdgl,[ta,te],y0); Besser : [t,y]=ode45(@fdgl,[ta,te],y0,[], p1, p2,...); [dy_dt] = fdgl(t, y, p1, p2,...) [dy_dt] = fdgl(t, y) global p1 p2... Option Parameter ist leer options = odeset('reltol',1e-5); [t,y]=ode45(@fdgl,[ta,te],y0,options, p1, p2,...); Siehe : doc ode45 doc odeset 6

7 Strukturen und Cell Arrays Strukturen und Cell Arrays 1 Strukturen 1.1 Definition einer Struktur Variante Zugriff auf die Felder einer Struktur 1.3 Definition einer Struktur Variante Felder hinzufügen Felder entfernen 1.5 Definition einer Struktur Variante Arrays von Strukturen 1.7 Concatenation Operator und Strukturen 1.8 Aufgaben 2 Cell Arrays 2.1 Cell Arrays erzeugen 2.2 Zellindizierung Inhaltsindizierung 2.3 Cell Arrays Beispiele 2.4 Strings in einem Cell Arrays speichern 3 Hausaufgabe 7

8 1 Strukturen Problem : Speichere in einer Variablen den Familiennamen, das Semester und die Noten in den Fächern Informatik und CAD. Huber Erzeuge n Variablen dieses Typs, um die Daten für eine ganze Prüfung zu speichern. Berechne den Notendurchschnitt in den einzelnen Fächern, suche die Studierende oder den Studierenden mit den besten Noten. Anforderungen : Das Programm soll leicht lesbar sein was befindet sich in welcher Spalte? Es soll einfach sein, auf die einzelnen Daten zuzugreifen. Es soll einfach möglich sein, zusätzliche Informationen zu speichern, z.b. das Alter, das Geschlecht, weitere Prüfungsnoten... Lösung mit Hilfe von Arrays? Alle Elemente eines Arrays besitzen immer den gleichen Typ. Es ist z.b. nicht möglich, dass in Spalte 1 eines Arrays Werte vom Typ String gespeichert sind, in Spalte 2 Werte vom Typ uint8/double und in Spalte 3 und 4 Werte vom Typ double. 8

9 1 Strukturen Muss man nur das Semester und die beiden Noten speichern, so könnte man ein Array vom Typ double mit 3 Spalten verwenden. noten = zeros(100,3) : Array mit 100 Zeilen und 3 Spalten erzeugen Alle Elemente erhalten den Wert 0 noten(3,1) : Semester (Spalte 1) des dritten Teilnehmers noten(3,2) : Note in Informatik (Spalte 2) des dritten Teilnehmers noten(3,3) : Note in CAD (Spalte 3) des dritten Teilnehmers Vorteil : Der Zugriff auf die Elemente ist sehr einfach mean(noten(:,2)) Nachteil : Programme sind oft schwer lesbar und fehleranfällig. Man muss wissen, dass Spalte 1 das Semester enthält und Spalte 3 die Note in CAD. Der Name kann im Array noten überhaupt nicht gespeichert werden, da alle Elemente den gleichen Typ besitzen müssen. Frage : Kann man die Namen der Prüfungsteilnehmer in einem separaten Array namen speichern? Z.B. noten_scr.m namen = [ 'Huber' ; 'Meier' ] namen = [ 'Huber' ; 'Meier' ; 'Schmidt' ] 9

10 1 Strukturen In MATLAB (wie in C) gibt es einen Datentyp struct, mit dem man die beschriebenen Probleme sehr einfach lösen kann. In einer Variablen vom Typ struct fasst man verschiedenen Daten zu einer Einheit zusammen. Z.B. alle Informationen über einen Prüfungsteilnehmer. Eine Struktur besteht aus sogenannten Feldern (field). Jedes Feld einer Struktur bekommt einen frei wählbaren Namen. Der Feldname wird für den Zugriff auf ein Feld verwendet. Für die Namen der Felder gelten die üblichen Regeln für Variablennamen. In jedem einzelnen Feld einer Variablen vom Typ struct wird ein Wert gespeichert. Der Typ des Wertes, der in einem Feld gespeichert wird, kann beliebig sein. Information Feldname Wert Typ des Wertes Name name 'Huber' [1*5] char Semester semester 4 double Note in Info informatik 1.7 double Note in CAD cad 2.3 double 10

11 1.1 Definition einer Struktur Variante 1 Mit der Funktion struct wird eine Variable vom Typ struct erzeugt. Die Namen der Felder und die zugehörigen Werte werden als Parameter an die Funktion übergeben. Die Werte können einen beliebigen Typ besitzen. Die Typen müssen nicht gleich sein. Als Ergebnis wird eine Variable vom Typ struct zurückgegeben. Funktion : struct ( Feldname, Wert, ) > pt = struct('name','huber','semester',4,... 'informatik',1.7,'cad',2.3 ) pt = name: 'Huber' semester: informatik: cad: > whos pt Name Size Bytes Class pt 1x1 738 struct Die Funktion struct erzeugt eine Variable vom Typ struct. Die Variable wird pt (Prüfungsteilnehmer) genannt. Der Funktion struct besitzt als Parameter Feldname Wert Paare. 11

12 1.2 Zugriff auf die Felder einer Struktur Der Zugriff auf die Felder einer Struktur lesend oder schreibend erfolgt durch den Punkt Operator oder mit den Funktionen get und setfield. > infonote = pt.informatik infonote = Lesender Zugriff > pt.name ans = Huber > pt.cad = 2.7; Schreibender Zugriff > pt.name = 'Meier'; > pt.semester = []; > pt Der Wert des Feldes mit dem Namen semester wird gelöscht. pt = name: 'Meier' Das Feld semester bleibt erhalten, besitzt aber keinen Wert. semester: [] informatik: cad: > pt = setfield(pt, 'cad', 2.3); > meinname = getfield(pt, 'name'); 12

13 1.3 Definition einer Struktur Variante 2 Es wird eine Variable vom Typ struct erzeugt und die Feldnamen werden definiert. Aber es werden keine Werte zugewiesen (fast identisch mit Variante 1). > pt = struct('name',[],'semester',[],... 'informatik',[],'cad', [] ) pt = name: [] semester: [] informatik: [] cad: [] > pt.name = 'Huber'; > pt.semester = 4; > pt.informatik = 1.3; > pt pt = name: 'Huber' semester: 4 informatik: cad: [] Eine Variable vom Typ struct wird erzeugt. Die Anzahl der Felder und die Namen werden festgelegt. Die Felder besitzen aber zunächst keine Werte. 13

14 1.4 Felder hinzufügen Felder entfernen Eine bestehende Struktur kann um zusätzliche Felder erweitert werden, bestehende Felder können aus einer Struktur entfernt werden. 1) Struktur um ein Feld erweitern : > pt.geschlecht = 'w' > pt.geschlecht =[] Die Struktur pt wird um das Feld geschlecht erweitert und der zugehörige Wert wird gesetzt. Die Struktur besitzt danach 5 verschiedene Felder. Falls das Feld bereits existiert, wird nur der Wert überschrieben. Dabei kann sich der Typ des Wertes ändern. 2) Feld aus einer Struktur entfernen : > pt = rmfield(pt, 'cad') Die Funktion rmfield entfernt ein Feld aus einer Struktur. Im obigen Beispiel wird das Feld 'cad' aus der Struktur pt entfernt. Die Struktur pt besitzt danach kein Feld mehr mit dem Namen 'cad'. Beachte : Der nebenstehende Befehl löscht nur den Wert des Feldes 'cad'. Das Feld bleibt erhalten. > pt.cad = [] 14

15 1.5 Definition einer Struktur Variante 3 Der Aufruf der Funktion struct ohne Parameter erzeugt eine Variable vom Typ struct ohne Felder. Diese werden später hinzugefügt. > pt = struct() > pt.name = [] > pt.semester = [] > pt.informatik = [] > pt = setfield(pt,'cad',1.7) > pt pt = name: [] semester: [] informatik: [] cad: 1.7 > pt = struct() > pt.name = [] > pt.semester = [] > pt.informatik = [] > setfield(pt,'cad',1.7) > pt pt = name: [] semester: [] informatik: [] 15

16 1.6 Arrays von Strukturen Informationen für einen weiteren Teilnehmer hinzufügen. > pt(2).name = 'Schmidt' pt = 1x2 struct array with fields: name semester informatik cad > pt(2).semester = 4; > pt(2).informatik = 1.7; > pt(2) ans = name: 'Schmidt' semester: 4 informatik: cad: [] Die Variable pt wird zu einem Zeilenvektor mit zwei Elementen; jedes Element ist eine Variable vom Typ struct mit jeweils 4 Feldern. Das Feld name des zweiten Elements von pt besitzt einen Wert. Die restlichen Felder besitzen zunächst den Wert [ ] kein Wert. Im Element pt(2) sind 3 von 4 Feldern mit Werten belegt. 16

17 1.6 Arrays von Strukturen Arrays von Strukturen anlegen : > pt(100) = struct('name',[],'semester',[],... 'informatik',[],'cad',[]) pt = 1x100 struct array with fields: 100 Elemente anlegen name semester informatik cad > pt(27).geschlecht = 'w' > pt = rmfield(pt, 'cad') Bei allen Elementen des Arrays pt wird das Feld 'geschlecht' hinzugefügt und das Feld 'cad' entfernt. > pt(100,100) = struct('name',[],'semester',[],... 'informatik',[],'cad',[]) Elemente anlegen 17

18 1.7 Concatenation Operator und Strukturen > pt1 = struct('f1', 2, 'f2', 'Ja') > pt2 = struct('f1', 3, 'f2', 'Nein') > pt3 = struct('f1', 'Ja','f2', 20) > pt4 = struct('f1', 2, 'f3', 'Ja') > a12 = [ pt1, pt2 ] > a13 = [ pt1, pt3 ] > a123 = [ pt1, pt2, pt3 ] > a13 = [ pt1, pt4 ] struct_concat.m Variablen vom Typ struct dürfen nur dann concateniert werden, wenn 18

19 1.8 Aufgaben Berechne den Notendurchschnitt in Informatik Aufgabe 1 : Gegeben ist ein Vektor, dessen Elemente vom Typ struct sind. Der Vektor ist bereits mit Werten belegt. Berechne den Notendurchschnitt im Fach Informatik. > pt = name: [] semester: [] informatik: [] cad: [] Name Size Bytes Class pt 1x?? struct 19

20 1.8 Aufgaben Berechne den Notendurchschnitt in Informatik Aufgabe 2 : Gegeben ist ein Vektor pt, dessen Elemente vom Typ struct sind. Der Vektor ist bereits mit Werten belegt. Für manche Teilnehmer ist keine Note vorhanden. Berechne den Notendurchschnitt im Fach Informatik. pt(1).informatik = 1; pt(2).informatik = 2; pt(3).informatik = []; pt(4).informatik = 4; 20

21 2 Cell Arrays Mit Hilfe von Cell Arrays werden Daten mit unterschiedlichen Datentypen zu einer Einheit zusammengefasst. Die Zugriff auf die Elemente (Zellen) erfolgt numerisch (mit Indizes wie bei Arrays) und nicht mit Hilfe von Namen wie bei Strukturen. Cell Arrays verhalten sich wie Arrays, aber die Inhalte der einzelnen Elemente eines Cell Arrays dürfen unterschiedliche Datentypen besitzen. Bei Cell Arrays gibt es zwei verschiedene Typen der Indizierung Zellindizierung () element = A(3,4) Die Zellindizierung wird für den Zugriff auf ein einzelnes Element eines Cell Arrays verwendet. Das Ergebnis ist ein Objekt vom Typ cell, d.h. element ist hier vom Typ cell. Ein Cell Array besteht aus Elementen vom Typ cell. Inhaltsindizierung {} inhalt = A{3,4} Die Inhaltsindizierung wird für den Zugriff auf den Inhalt eines Elements eines Cell Arrays gebraucht ( Zugriff auf den Inhalt/Wert einer Zelle ). Der Datentyp des Inhalts kann alles mögliche sein, ein Array, ein Vektor, ein String, ein Function Handle, eine Struktur, ein Cell Array... Daher kann der Datentyp von inhalt kann alles mögliche sein. 21

22 2.1 Cell Arrays erzeugen Es gibt zwei verschiedene Möglichkeiten Cell Arrays erzeugen : 1. Die Funktion cell erzeugt ein leeres Cell Array vorgegebener Dimension A = cell(n) NN Cell Array mit leeren Elementen erzeugen B = cell(m,n) MN Cell Array mit leeren Elementen erzeugen Den einzelnen Elementen des Cell Arrays werden danach Werte zugewiesen. 2. Ein Cell Array wird mit Hilfe des Operators {}definiert und initialisiert. A = {...} > A = { [2 4 6], [1;2;3] } A = [1x3 double] [3x1 double] > x = A(1,1) x = > A = cell(2) A = [] [] [] [] > B = cell(2,3) B = [] [] [] [] [] [] > whos A B Name Size Bytes Class A 2x2 32 cell B 2x3 48 cell [1x3 double] > y = A(1,2) y = [3x1 double] > whos A x y Name Size Bytes Class Zellindizierung A 1x2 272 cell x 1x1 136 cell y 1x1 136 cell 22

23 2.2 Zellindizierung Inhaltsindizierung Zellindizierung ( ) Inhaltsindizierung { } > A = { [2 4 6], [1;2;3] } A = [1x3 double] [3x1 double] > x = A(1,1) x = [1x3 double] > y = A(1,2) y = [3x1 double] > whos A x y Name Size Bytes Class A 1x2 272 cell x 1x1 136 cell y 1x1 136 cell Was ist der Unterschied zwischen x(1) und x{1}? > A = { [2 4 6], [1;2;3] } A = [1x3 double] [3x1 double] > xi = A{1,1} xi = > yi = A{1,2} yi = > whos A xi yi Name Size Bytes Class A 1x2 272 cell xi 1x3 24 double yi 3x1 24 double 23

24 Beispiele : 2.3 Cell Arrays Beispiele > c = cell(2,3) c = [] [] [] [] [] [] > c(1,1) = {2.0} c = [2] [] [] [] [] [] > c(2,1) = {'Otto'} c = [ 2] [] [] 'Otto' [] [] > c(2,2) = {[1 0;0 1]} c = [ 2] [] [] 'Otto' [2x2 double] [] > note = {'Info' } note = 'Info' [5] [2.3000] > t={'ja' 'Nein' 'Abbruch'} t = 'Ja' 'Nein' 'Abbruch' > whos t Name Size Bytes Class t 1x3 362 cell > noten = {'Info' 5 2.3;... 'CAD' 5 1.7} noten = 'Info' [5] [2.3000] 'CAD' [5] [1.7000] > whos noten Name Size Bytes Class noten 2x3 718 cell 24

25 2.4 Strings in einem Cell Arrays speichern Speichert man Strings in einem Array (z.b. in jeder Zeile ein Wort), so müssen alle Strings gleich lang sein. Hierzu kann man fehlende Zeichen durch Blanks auffüllen. Einfacher (d.h. ohne Auffüllen) ist das mit Cell Arrays möglich. Beispiel : Speichere die Strings Ja, Nein und Abbruch in einem Array und in einem Cell Array. Wie unterscheiden sich die Dimensionen? > W(1,:)= 'Ja '; > W(2,:)= 'Nein '; > W(3,:)= 'Abbruch' W = Ja Nein Abbruch > whos W Name Size Bytes Class W 3x7 42 char > W1={'Ja' 'Nein' 'Abbruch'} W1 = 'Ja' 'Nein' 'Abbruch' > W2={'Ja'; 'Nein'; 'Abbruch'} W2 = 'Ja' 'Nein' 'Abbruch' > whos Name Size Bytes Class W1 1x3 362 cell W2 3x1 362 cell 25

26 2.4 Strings in einem Cell Arrays speichern Die Funktion fieldnames gibt die Feldnamen einer Struktur zurück. Der Rückgabewert ist ein Cell Array. Die Inhalte der einzelnen Cells sind Strings. > help fieldnames fieldnames Get structure field names. NAMES = fieldnames(s) returns a cell array of strings containing the structure field names associated with the structure s... > namen = fieldnames(pt) namen = 'name' 'semester' 'informatik' 'cad' > x = namen(2) x = 'semester' > y = namen{2} y = semester Als Ergebnis wird ein Cell Array mit 4 Zeilen und einer Spalte zurückgegeben. Jedes Element namen(k) ist vom Typ cell. Der Inhalt einer Zell ist vom Typ (1n)char. > whos Name Size Bytes Class namen 4x1 486 cell pt 1x struct x 1x1 128 cell y 1x8 16 char 26

27 2.4 Strings in einem Cell Arrays speichern Das nachfolgende Skript erstellt eine einfache Zeichnung. Um die Legende zu erzeugen, werden zwei Strings an die Funktion legend übergeben. Intern speichert MATLAB diese Information in einem Cell Array. An die Funktion legend kann auch ein Cell Array übergeben werden. x=0:pi/100:2*pi; y=sin(x); z=cos(x); plot(x,y,x,z,'linewidth',3) h=legend('sinus','cosinus') plotsincos.m 27

28 2.4 Strings in einem Cell Arrays speichern Cell Arrays werden häufig bei Graphikanwendungen genutzt. Z.B. wird der Text, der in der Legende einer Graphik angezeigt wird, als Cell Array gespeichert. 1) Legende selektieren 2) More Properties anklicken 3) Feld String doppelklicken Cell Array mit Legendentext

29 3 Hausaufgabe Schreiben Sie Funktionen zur statistischen Auswertung von Prüfungsergebnissen. An die Funktionen wird ein Vektor übergeben, der die Prüfungsergebnisse enthält. Jedes Element des Vektors besitzt die Struktur. struct('name',[],'semester',[],'informatik',[],'cad',[]) 1. Die Funktion auswertung gibt die Mittelwerte der Felder semester, informatik und cad zurück. Schreiben Sie eine Lösung mit und eine Lösung ohne Schleifen. 2. Die Funktion bestergesamtschnitt gibt die beste Gesamtnote zurück, die in Informatik und CAD zusammen erzielt worden ist. 3. Die Funktion namensliste gibt eine Liste der Namen der Prüfungsteilnehmer zurück, die eine gegebene Gesamtnote erzielt haben. 4. Schreiben Sie eine Funktion umwandlung, die Prüfungsergebnisse, die in einem Cell Array gespeichert sind, in Elemente vom Typ struct umwandelt und zurückgibt. Jede Zeile des Cell Arrays enthält die Information über einen Teilnehmer. Leider sind die Daten nicht immer in der gleichen Reichenfolge gespeichert. CA={{'Schmidt'},{'semester',4},{'informatik',1.7},{'cad',2.0}; {'Meier'},{'informatik',2.3},{'semester',7},{'cad',2.3}; {'semester',2},{'schmidt'},{'cad',1.3},{'informatik',2.7};...} Testen Sie ihr Programm anhand geeigneter Testdaten. Schreiben Sie hierzu eine Funktion testptstruct, das die obigen Funktionen aufruft und die Ergebnisse ausgibt. 29

30 Arbeiten mit Dateien 1 MATLAB formated data 1.1 Die Funktionen load und save 1.2 Laden und Speichern über die GUI 2 Zugriff auf Dateien mit fprintf und fscanf 2.1 Textdateien Binärdateien 2.2 Zugriff auf Datei in drei Schritten 2.3 Datei öffnen File Identifier 2.4 Datei schließen 2.5 Lesen und Schreiben von Daten 2.6 Datei zeilenweise lesen und ausgeben 2.7 Datei zeilenweise lesen mit Fehlerbehandlung 3 Skalare, Vektoren und Arrays lesen und schreiben 3.1 Daten formatiert in eine Datei schreiben 3.2 Arrays in eine Datei schreiben 3.3 Arrays aus einer Datei einlesen 3.4 Eingelesene Zahlen in einem Vektor speichern 3.5 Eingelesene Zahlen in einer Matrix speichern 30

31 1 Arbeiten mit Dateien MATLAB kann mit vielen Dateiformaten umgehen. D.h. Information in einem bestimmten Format in eine Datei schreiben Information in einem gegebenen Format aus einer Datei lesen und weiterverarbeiten Typische Dateiformate : MATLAB Formated Data Text Dateien (ASCII Dateien) Spreadsheet XML Scientific Data Formate (CDF,HDF,... ) Image, Audio, Video Zum Lesen und Schreiben von Informationen stehen eine Vielzahl von Funktionen zur Verfügung. 31

32 1.1 MATLAB Formated Data Das Format MATLAB formated data wird verwendet um MATLAB Variablen in einer Datei zu speichern oder um Variablen aus einer Datei zu lesen. Dabei wird jeweils Name, Typ und Wert einer Variablen gespeichert bzw. gelesen. Als Dateiendung wird.mat verwendet. Funktion save Speichert Variablen, die im Workspace vorhanden sind, in einer Datei ab. Es können entweder alle Variablen oder nur bestimmte Variablen gespeichert werden. Der Typ der Variablen kann beliebig sein Skalar, Array, Struktur, Cell Array, Function Handle,.... Funktion load Liest Variablen, die in einer Datei gespeichert sind, in den Workspace. Es können entweder alle Variablen oder nur bestimmte Variablen eingelesen werden. Vorteil : sehr einfach sehr effektiv, da die Daten binär gespeichert sind Nachteil : kann fast nur von MATLAB verwendet werden Verwendung in anderen Anwendungen (Excel) ist schwierig, da die Daten binär gespeichert sind 32

33 1.1 Die Funktionen load und save Beispiel 1 saveandload1.m clear all x=4.5 y=[ ] A=[1 2;3 4] name='otto' save('variablen1.mat') clear all x=4.6 load('variablen1.mat') x whos('-file','variablen1.mat') Speichere den kompletten Workspace Lese alle MATLAB Variablen aus einer Datei in den Workspace Zeige den Inhalt einer Datei vom Typ mat an, d.h., welche Variablen befinden sich in der Datei > saveandload1 x = y = A = name = Otto x = x = Name Size Bytes Class A 2x2 32 double name 1x4 8 char x 1x1 8 double y 1x2 16 double 33

34 1.1 Die Funktionen load und save Beispiel 2 saveandload2.m clear all x=4.5 y=[ ] A=[1 2;3 4] name='otto' save('variablen2.mat','x','y') clear all load('variablen2.mat') x whos('-file','variablen2.mat') Speichere nur bestimmte Variablen Lese alle MATLAB Variablen aus einer Datei Zeige den Inhalt einer Datei vom Typ mat an > saveandload2 x = y = A = name = Otto x = Name Size Bytes Class x 1x1 8 double y 1x2 16 double 34

35 1.1 Die Funktionen load und save Beispiel 3 saveandload3.m clear all x=4.5 y=[ ] A=[1 2;3 4] name='otto' save('variablen3.mat') clear all load('variablen3.mat','x','a') x A whos('-file','variablen3.mat') Speichere den kompletten Workspace Lese bestimmte MATLAB Variablen aus einer Datei in den Workspace Zeige den Inhalt einer Datei vom Typ mat an > saveandload3 x = y = A = name = Otto x = A = Name Size Bytes Class A 2x2 32 double name 1x4 8 char x 1x1 8 double y 1x2 16 double 35

36 1.1 Die Funktionen load und save Beispiel 4 saveandload4.m clear all x=4.5 y=[ ] A=[1 2;3 4] name='otto' save('variablen4.mat') clear all x=4.6 S=load('variablen4.mat') whos S S.x x Speichere den kompletten Workspace Lese alle MATLAB Variablen aus einer Datei in den Workspace; die Variablen werden in einer Struktur gespeichert, wobei als Feldnamen die Variablennamen verwendet werden > saveandload4 x = y = A = name = Otto S = x: y: [ ] A: [2x2 double] name: 'Otto' Name Size Bytes Class S 1x1 768 struct ans = x =

37 1.2 Laden und Speichern über die GUI Im Fenster Current Folder können Variablen aus Dateien, die MATLAB Formated Data enthalten, direkt (per Doppelklick) oder über einen Import Wizard geladen werden. Variablen aus dem Workspace können über das Kontext Menü mit dem Menüpunkt Save as.. in einer MATLAB Datei gespeichert werden. 37

38 2 Zugriff auf Dateien mit fprintf und fscanf Programme, z.b. MATLAB oder C Programme, können auf Dateien lesend oder schreibend zugreifen : Daten, die mit einem MATLAB Programm erzeugt werden, werden in einer Datei abgespeichert ( Schreibzugriff write access ), damit diese später wieder eingelesen oder anderweitig verarbeitet werden können Daten, die in einer bestehenden Datei enthalten sind, werden mit einem MATLAB Programm eingelesen ( Lesezugriff read access ) und anschließend weiter verarbeitet, z.b. drei Matrizen für eine 3D Graphik einlesen 38

39 2.1 Textdateien Binärdateien Daten werden im wesentlichen auf zwei verschiedene Arten in einer Datei gespeichert Textdatei ASCII Datei Für jedes Zeichen (ein Buchstabe eines Wortes, eine Ziffer einer Zahl oder ein Sonderzeichen), das gespeichert wird, wird der zugehörige ASCII Code (Unicode) gespeichert. Daher wird für jedes Zeichen ein Byte (2 Bytes) in die Datei geschrieben oder aus der Datei gelesen. Dateien, die Information auf diese Weise speichern, kann man mit einem ASCII Editor erstellen und deshalb einfach lesen oder verändern. M Files werden ebenfalls als ASCII Dateien gespeichert. Binärdatei Bei Binärdateien werden die Daten meist so gespeichert, wie sie im Hauptspeicher gehalten werden. Eine int32 Variable wird in 4 Bytes abgespeichert, eine double Variable in 8 Bytes, Es wird jeweils die binäre Darstellung (0/1) der Zahl gespeichert und es erfolgt keine Umwandlung in das Dezimalsystem. Solche Dateien kann man nur mit Hilfe eines speziellen Editors oder mit einem speziellen Programm lesen. MATLAB formatted data (.mat Files) sind Binärdateien. Übersetzte C Programme sind ebenfalls Binärdateien. 39

40 2.2 Zugriff auf Datei in drei Schritten Das Arbeiten mit Dateien erfolgt fast immer in 3 Schritten : 1. Datei öffnen Funktion fopen Das Betriebssystem verwaltet Dateien über Dateinamen. Um auf Dateien zuzugreifen verwendet MATLAB einen File Identifier. Die Funktion fopen bekommt einen Dateinamen als Parameter und gibt einen File Identifier zurück. 2. Daten aus einer Datei lesen Funktion fscanf, fgetl oder Daten in eine Datei schreiben Funktion fprintf 3. Datei schließen Funktion fclose Der Zugriff auf eine Datei wird beendet und Resourcen werden freigegeben. Beachte : Matrix A 1.0 A Matrix A kann auf ganz verschiedene Weise in einer Datei abgespeichert sein a1.txt a2.txt a3.txt a4.txt a5.txt 40

41 2.2 Zugriff auf Datei in drei Schritten Beispiel % script : lese_schreibe.m % Datei data1.txt lesend öffnen fid = fopen('data1.txt', 'r'); Datei : data1.txt % lese jeweils eine Zahl x = fscanf(fid, '%f', 1); y = fscanf(fid, '%f', 1); fclose(fid); x = x+1; y = y+1; % Schreibe ins Command-Window fprintf(1,'%8.5f\n', x); fprintf('%8.5f\n', y); % Datei erg1.txt schreibend öffnen fid = fopen('erg1.txt', 'w'); fprintf(fid,'%7.2f\n', x); fprintf(fid,'%6.3f\n', y); Datei : erg1.txt fclose(fid); lese_schreibe.m 41

42 2.3 Datei öffnen File Identifier Damit MATLAB aus einer Datei lesen oder in eine Datei schreiben kann, muss eine Beziehung zwischen MATLAB und der Datei hergestellt werden. MATLAB selbst kann auf Dateien nicht direkt zugreifen, da diese vom Betriebssystem verwaltet werden. Der Zugriff auf eine Datei erfolgt über einen sogenannten File Identifier ( fid ), der eine Beziehung zwischen einer bestimmten Datei und dem MATLAB System herstellt. Ein File Identifier wird durch die MATLAB Funktion fopen erzeugt und als Rückgabewert (Typ double) bereitgestellt. Dateiname und Zugriffsart (lesen, schreiben) werden als Parameter an die Funktion fopen übergeben. fid = fopen('dateiname', 'Zugriffsart' ) fid > 2 : Das Öffnen der Datei war erfolgreich es wurde eine gültiger File Identifier fid zurückgegeben. fid = -1 : Beim Versuch die Datei zu öffnen ist ein Fehler aufgetreten. Der File Identifier wird bei den nachfolgenden Lese oder Schreibzugriffen verwendet. Nach jedem Aufruf von fopen sollte sofort geprüft werden, ob der File Identifier gültig ist, da beim Öffnen häufig Fehler passieren. 42

43 2.3 Datei öffnen File Identifier Spezielle File Identifier MATLAB stellt drei spezielle File Identifier bereit; diese sind immer vorhanden und können direkt verwendet werden; die zugehörigen Dateien sind bereits geöffnet; werden bei fprintf und fscanf keine File Identifier angegeben, dann werden jeweils die zugehörigen Standard File Identifier verwendet. fid=0 : Standardeingabe Lesen vom Command Window : fscanf(0,'%f',1) fscanf('%f',1) fid=1 : Standardausgabe Schreiben in das Command Window fprintf(1,'schreibe in das Command-Window') fprintf('schreibe in das Command-Window') fid=2 : Standardfehlerausgabe ( error ) Schreiben in das Command Window, aber der Text wird rot dargestellt fprintf(2,'fehler beim Öffnen') fid=-1: ungültiger File Identifier 43

44 2.3 Datei öffnen File Identifier Beispiel : Es soll eine Datei mit dem Namen data.txt zum Lesen geöffnet werden. Die Datei data.txt befinde sich im Verzeichnis U:\matlab. Der absolute Pfadname dieser Datei ist somit 'U:\matlab\data.txt'. Der Current Folder soll auf das Verzeichnis U:\matlab gesetzt sein. Bezogen auf den Current Folder ist der relative Pfadname der Datei einfach nur 'data.txt'.an die Funktion fopen kann man einem relativen oder einem absoluten Pfadnamen übergeben. Datei mit Namen data.txt im >> fid = fopen('data.txt', 'r') Current Folder zum Lesen öffnen. fid = 3 >> whos fid Name Size Bytes Class fid 1x1 8 double >> fid1 = fopen('u:\matlab\data.txt', 'r') File Identifier fid ist vom Typ double Absoluter Pfadname verwendet Beachte: Die erste Variante (relativer Pfadname) funktioniert nur, wenn der Current Folder richtig gesetzt ist. Die zweite Variante (absoluter Pfadname) ist unabhängig vom Current Folder. 44

45 2.3 Datei öffnen File Identifier fid = fopen('dateiname', 'Zugriffsart' ) Dateiname Name der Datei relativer Pfadname ( bezogen auf den Current Folder wie kommt man vom Current Folder zur Datei, z.b. data.txt oder pr\data.txt oder..\..\data.txt ) oder absoluter Pfadname ( Laufwerk, Verzeichnisse und Dateiname, z.b. u:\matlab\data.txt ) Zugriffsart (Permission Zugriffsrecht) Bestimmt, ob die Datei gelesen oder verändert werden kann. FID = fopen(filename,permission) opens the file FILENAME in the mode specified by PERMISSION: 'r' open file for reading 'w' open file for writing; discard existing contents 'a' open or create file for writing; append data to end of file 'r+' open (do not create) file for reading and writing 'w+' open or create file for reading and writing; discard existing contents 'a+' open or create file for reading and writing; append data to end of file 'W' open file for writing without automatic flushing 'A' open file for appending without automatic flushing 45

46 2.4 Datei schließen fclose(fid) Die Datei, die dem File Identifier fid zugeordnet ist wird geschlossen ( geöffnete Datei wird geschlossen ). Der Zugriff auf die Datei wird damit beendet. Resourcen, die für den Zugriff auf die Datei reserviert worden sind, werden freigegeben (passiert im Hintergrund). Sobald der Zugriff auf eine Datei nicht mehr benötigt wird, sollte die Datei geschlossen werden. 46

47 2.5 Lesen und Schreiben von Daten Nachdem eine Datei geöffnet worden ist, können Daten aus dieser Datei gelesen oder in diese Datei geschrieben werden. Das Lesen und Schreiben erfolgt wiederum über geeignete MATLAB Funktionen. An diese Funktionen muss u.a. auch der File Identifier der Datei als Parameter übergeben werden, damit MATLAB weiß, auf welche Datei es zugreifen soll. Es könnten ja mehrere Dateien geöffnet sein. Im folgenden soll der Inhalt einer Datei zeilenweise gelesen und am Bildschirm ausgegeben werden. str = fgetl(fid) Die Funktion fgetl (file get line) wird verwendet um eine Datei zeilenweise zu lesen. Der erste Aufruf von fgetl liest die erste Zeile, der nächste Aufruf die zweite Zeile, usw. Die aktuell eingelesene Zeile wird als String zurückgegeben, wobei das newline Zeichen am Zeilenende bereits entfernt worden ist. Wenn die Funktion fgetl den Wert -1 zurückgibt, ist das Dateiende erreicht. Um eine Datei von Anfang bis Ende zu lesen verwendet man häufig eine while Schleife, die beendet wird, wenn das Dateiende erreicht ist. 47

48 2.6 Datei zeilenweise lesen und ausgeben Aufgabe : Versuchen Sie die Funktion einfachlesen zu verstehen. 1. Rufen Sie die Funktion einfachlesen so auf, dass die Datei data.txt gelesen und verarbeitet wird. Verwenden Sie dabei sowohl relative als auch absolute Pfadnamen. 2. Was ist der Unterschied bei der Ausgabe zwischen disp, display und fprintf? 3. Was passiert, wenn man die Funktion wie folgt aufruft : einfachlesen('data.txt') einfachlesen(data.txt) 4. Ändern Sie die Funktion einfachlesen so ab, dass die einzelnen Zeilen bei der Ausgabe durchnummeriert werden (siehe unten). 1 Erste Zeile der Datei 2 Zweite Zeile der Datei 3 Dritte Zeile der Datei Letzte Zeile der Datei data.txt Erste Zeile der Datei Zweite Zeile der Datei Dritte Zeile der Datei Letzte Zeile der Datei 48

49 2.6 Datei zeilenweise lesen und ausgeben function [ ] = einfachlesen( filename ) fid = fopen(filename, 'r'); %Datei lesend öffnen weiter = 1; while ( weiter == 1 ) line = fgetl(fid); %aktuelle Zeile lesen if ( line == -1 ) %ist Dateiende erreicht? weiter = 0; %Lesen beenden else %disp(line) %eingelesene Zeile %display(line) %eingelesene Zeile fprintf('%s\n', line); % %s String ausgeben end end fclose(fid); %Datei wieder schliessen end 49

50 2.7 Datei zeilenweise lesen mit Fehlerbehandlung Die Funktion einfachlesen berücksichtig nicht, dass beim Öffnen der Datei ein Fehler passieren kann (z.b. die Datei existiert nicht oder ein Schreibfehler bei der Pfadangabe oder die Datei darf nicht geöffnet werden). Solche Programme sind in der Praxis unbrauchbar. Das folgende Beispiel zeigt eine einfache Fehlerbehandlung. In der Praxis muss meistens sehr viel mehr Aufwand für die Fehlerbehandlung gemacht werden. Aufgabe : Versuchen Sie die Funktion readzeilen zu verstehen. 1. Rufen Sie die Funktion readzeilen so auf, dass die Datei data.txt gelesen und verarbeitet wird. Verwenden Sie dabei sowohl relative als auch absolute Pfadnamen. 2. Was passiert, wenn man die Funktion wie folgt aufruft : readzeilen('data.txt') readzeilen('dataxyz.txt') readzeilen(data.txt) 50

51 2.7 Datei zeilenweise lesen mit Fehlerbehandlung function [ ] = readzeilen( filename ) [fid, msg] = fopen(filename, 'r'); % Datei lesend öffnen % msg speichert mögliche Fehlermeldung if fid < 0 % ist Fehler beim Öffnen passiert? fprintf(2,'fehler beim Öffnen von Datei %s\n', filename); fprintf(2,' %s\n', msg); % Fehlermeldung ausgeben return; % Leseversuch beenden end while ( 1 = = 1 ) % lese alle Zeilen einzeln line = fgetl(fid); % aktuelle Zeile lesen if ( line == -1 ) % ist Dateiende erreicht? break; % Lesen beenden else fprintf('%s\n', line); % eingelesene Zeile ausgeben end end fclose(fid); % Datei wieder schliessen end 51

52 3 Skalare, Vektoren und Arrays lesen und schreiben fprintf( fid, 'Format-String', Variablen ) Die Funktion fprintf schreibt Daten formatiert in die Datei, die dem File Identifier fid zugeordnet ist. Der Format String wird auf die Variablen angewendet. Wendet man fprintf auf Skalare an, dann muss für jede Variable, die in der Anweisung angegeben wird, ein Formatelement im Format String angegeben werden. Beispiel x = 10.0; y = 2.0; fprintf(1,'%f', x) fprintf(1,'%f %f', x, y) k = 10; n = 2; fprintf(fid1,'%d', k) fprintf(fid2,'%5d%5d', k, n) Aufruf von fprintf ohne File Identifier : fprintf( 1, 'Format-String', Variablen ) fprintf( 'Format-String', Variablen ) In beiden Fällen erfolgt die Ausgabe in das Command Window, d.h., wird kein File Identifier angegeben, dann wird automatisch in die Standardausgabe geschrieben. 52

53 3.1 Daten formatiert in eine Datei schreiben Aufgaben : Versuchen Sie die Datei writezeilen.m zu verstehen. 1. Rufen Sie die Funktion writezeilen auf und speichern Sie die Ausgabe in einer Datei mit dem Namen zahlen.txt 2. Ändern Sie die Datei writezeilen so, dass auch die vierten Potenzen ausgegeben werden. 3. Ändern Sie die Datei writezeilen so, dass die Werte von k jeweils um 2 statt um 1 erhöht werden. 4. Rufen Sie die Funktion so auf, dass beim Öffnen der Datei ein Fehler passiert. Überlegen Sie sich möglichst viele verschiedene Fehlerfälle. 53

54 3.1 Daten formatiert in eine Datei schreiben function [ ] = writezeilen( filename ) % Datei schreibend öffnen, alter Inhalt geht verloren [fid, msg] = fopen(filename, 'w'); if fid < 0 % prüfe, ob Öffnen erfolgreich war fprintf(2,'fehler beim Anlegen von Datei %s\n', filename); fprintf(2,' %s\n', msg); return; % beenden end fprintf(fid,' Zahl Quadrat 3.-te Potenz\n'); % fprintf(fid,' \n'); for k=1:10 fprintf(fid,'%6d%10d%14d\n', k, k*k, k*k*k); end % Datei schliessen fclose(fid); end Zahl Quadrat 3.-te Potenz

55 3.2 Arrays in eine Datei schreiben Bisher haben wir mit der Funktion fprintf einzelne Werte (Skalare) ausgegeben. Die Funktion fprintf kann aber auch Vektoren und Matrizen (Arrays) ausgeben. Arrays werden immer spaltenweise gelesen. Beispiel : Eine Matrix speichert n ganze Zahlen, die zugehörigen Quadrate und dritten Potenzen. Es gibt zwei Möglichkeiten diese Daten zu speichern : Matrix A - 3*n Matrix Die Daten sollen wie folgt in eine Datei geschrieben werden : für die erste Spalte werden 4 Zeichen reserviert, für die zweite Spalte 8 Zeichen und für die dritte Spalte 9 Zeichen. Aufgabe : Führen Sie das Programm writetabelle aus. Ergänzen Sie es danach so, dass auch die Matrix B ausgegeben wird. Matrix B - n*3 Matrix Zahl Quadrat 3.Potenz

56 3.2 Arrays in eine Datei schreiben function [ ] = writetabelle( filename )... fprintf(fid,' Zahl Quadrat 3.Potenz\n'); fprintf(fid,' \n'); k = 1:10; % Zeilenvektor A(1,:) = k; % in Zeile 1 die Zahlen 1 bis 10 schreiben A(2,:) = k.*k; % in Zeile 2 die Quadratzahlen A(3,:) = k.^3; % % % % A wird spaltenweise gelesen und zeilenweise ausgegeben fprintf(fid,'%4d%8d%9d\n', A); k = (1:10)'; % Transponierte bilden - Spaltenvektor B(:,1) = k; % in Spalte 1 die Zahlen 1 bis 10 schreiben B(:,2) = k.*k; % in Spalte 2 die Quadratzahlen B(:,3) = k.^3; % Matrix B ausgegeben fclose(fid); end Zahl Quadrat 3.Potenz Um eine ganze Spalte von A zu lesen werden drei Formatelemente benötigt; die Spalte wird dann in eine Zeile geschrieben Wie lautet die fprintf Anweisung für die Ausgabe von B? 56

57 3.3 Arrays aus einer Datei einlesen Gegeben ist eine Datei, die Zahlen, die zugehörigen Quadrate und dritten Potenzen enthält. Diese Daten sollen eingelesen und in einer 103 Matrix gespeichert werden. Aufgabe : Datei öffnen die ersten beiden Zeilen überspringen Zahl Quadrat 3. Potenz Zahlen zeilenweise mit fscanf einlesen und in einer 103 Matrix speichern Wichtig : fscanf(fid,format,size) scanf beginnt mit der aktuellen Zeile und liest von links nach rechts, dann wird die nächste Zeile gelesen... SIZE is optional; it puts a limit on the number of elements that can be read from the file; if not specified, the entire file is considered; if specified, valid entries are: N read at most (bestenfalls) N elements into a column vector. inf read at most to the end of the file. [M,N] read at most MN elements filling at least an M by N matrix, in column order. N can be inf, but not M. 57

58 Beispiel : 3.4 Eingelesene Zahlen in einem Vektor speichern 3 Zahlen einlesen und in einem Vektor speichern 3 Zahlen befinden sich in einer Zeile einer Datei (die Zahlen sind durch Leerzeichen voneinander getrennt) oder in jeder Zeile der Datei befindet sich jeweils eine Zahl Einlesen in 3 skalaren Variablen z1, z2 und z3 z1 = fscanf(fid, '%f', 1) z2 = fscanf(fid, '%f', 1) z3 = fscanf(fid, '%f', 1) jeder fscanf Aufruf liest genau eine Zahl, da SIZE = 1 Alle 3 Zahlen in einem Vektor x einlesen x = fscanf(fid, '%f', 3) dat_1_3.txt dat_3_1.txt x ist ein Spaltenvektor mit genau 3 Elementen, da SIZE = 3 und die Datei auch 3 Elemente enthält Alle Zahlen bis zum Ende der Datei werden eingelesen x = fscanf(fid, '%f') x = fscanf(fid, '%f', inf) x ist ein Spaltenvektor mit genau 3 Elementen, da die Datei genau 3 Zahlen enthält; die gesamte Datei wird gelesen, weil SIZE nicht angegeben bzw. auf inf gesetzt ist

59 3.5 Eingelesene Zahlen in einer Matrix speichern Beispiel : 6 Zahlen einlesen und in einer Matrix Y speichern In jeder Zeile der Datei befinden sich je 3 Zahlen oder in jeder Zeile befindet sich eine Zahl Y = fscanf(fid, '%f',[3,2]) Es werden genau 6 Zahlen gelesen (3 2). Die ersten 3 Zahlen werden in Spalte 1 abgelegt, die zweiten 3 Zahlen in Spalte Y = Z = Y'= Bilde danach die transponierte Matrix Y', um eine 23 Matrix zu erzeugen. Jede Zeile der Datei dat_2_3.txt entspricht eine Zeile der Matrix. Y1 = fscanf(fid, '%f',[2,3]) Es werden genau 6 Zahlen gelesen (2 3); die ersten zwei Zahlen werden in Spalte 1 abgelegt, die zweiten zwei Zahlen in Spalte 2,... dat_2_3.txt dat_6_1.txt Y1 =

60 3.5 Eingelesene Zahlen in einer Matrix speichern function [ A ] = readtabelle( filename ) [fid, msg] = fopen(filename, 'r'); %Datei lesend öffnen if fid < 0 % prüfe, ob Öffnen erfolgreich war fprintf(2,'fehler beim Öffnen von Datei %s', filename); fprintf(2,' %s\n', msg); A = []; % leere Matrix zuweisen return; % beenden end line = fgetl(fid); % erste Zeile lesen line = fgetl(fid); % zweite Zeile lesen % Werte in eine Matrix mit 3 Zeilen einlesen A = fscanf(fid, '%f', [3,inf]); A = A' % transponierte Matrix bilden Zahl Quadrat 3. Potenz fclose(fid); % Datei schliessen end

61 Aufgabe : 3.5 Arrays aus einer Datei einlesen Aufgaben 1. Lesen Sie mit Hilfe des Skripts readscanf.m die verschiedenen Dateien dat*.txt. Gehen Sie mit Hilfe des Debuggers zeilenweise durch das Skript und versuchen Sie die Einlese Operationen mit fscanf zu verstehen. 2. Lesen Sie die Datei tabelle.txt mit Hilfe des Programms readtabelle.m und speichern Sie die Werte in einer Matrix POT. 3. Ändern Sie die Funktion readtabelle.m so ab, dass eine Matrix zurückgegeben wird, die nur die Quadratzahlen und die dritten Potenzen enthält, nicht aber die Zahl. Es wird also eine n2 Matrix zurückgegeben. MERKE : Das Verhalten von fprintf und fscanf in der Programmiersprache C und bei MATLAB unterscheidet sich, wenn man Felder als Variablen verwendet. In der Programmiersprache C muss man dazu geeignete Schleifen programmieren. In MATLAB ist das nicht immer notwendig. 61

62 3.6 Excel xlsread und xlswrite Mit den Funktionen xlsread und xlswrite werden Informationen aus Excel Dateien gelesen bzw. geschrieben. > help xlsread xlsread - Read Microsoft Excel spreadsheet file This MATLAB function reads data from the first worksheet in the Microsoft Excel spreadsheet file named filename and returns the numeric data in array num. num = xlsread(filename) num = xlsread(filename,sheet) num = xlsread(filename,xlrange) num = xlsread(filename,sheet,xlrange) Das Programm Excel kann Information in ganz verschiedenen Formaten in eine Datei schreiben. xlsx, xls, xlsb, ods, csv Bei csv Dateien gibt es ein weiteres Problem. Je nach Land (z.b. Deutschland oder USA) oder Einstellungen wird als Trennzeichen für die Nachkommastellen ein Komma oder ein Punkt verwendet. 62

63 3.6 Excel Beispiel xlsread Beachte : xslread liest nur die numerischen Daten! Was ist das Ergebnis, wenn die Datei Noten1.xlsx gelesen wird? 63

64 3.6 Excel Beispiel xlswrite Aufgabe : Führen Sie die beiden Skripte readexcel.m und writeexcel.m aus. 64

65 Hausaufgabe Lösen Sie das nebenstehende Gleichungssystem Ax=b. Die Matrix A ist eine 4 4 Matrix, der Vektor b ein Spaltenvektor mit 4 Zeilen. Die Matrix A und der Vektor b sollen jeweils aus verschiedenen Dateien gelesen werden. Schreiben Sie ein Skript glsystem.m, das folgende Aufgaben erfüllt : a) Die Matrix A und der Vektor b werden aus einer Datei gl.mat gelesen. Danach wird die Lösung des Gleichungssystem berechnet und ausgegeben. b) Die Matrix A und der Vektor b werden aus der Excel Datei gl.xlsx gelesen. Danach wird die Lösung des Gleichungssystem berechnet und ausgegeben. c) Die Matrix A und der Vektor b werden aus der ASCII Datei gl.txt gelesen. Lesen Sie die Matrix A und den Vektor b mit fscanf ein. Erstellen Sie eine Lösung zum Einlesen von A und b unter Verwendung von for Schleifen und eine Lösung ohne die Verwendung von Schleifen x x x x gl.txt gl.xlsx

66 Aufruf von Externen Funktionen 1 C Programm unter Windows 2 C Programm in MATLAB ausführen 3 Search Path 4 Weitere Beispiele 5 Hausaufgabe 66

67 Aufruf von externen Funktionen Ziel : Verwende Programme, die in anderen Programmiersprachen geschrieben sind, innerhalb von MATLAB. Konkret : C Programme innerhalb von MATLAB verwenden. Warum? Bestehende Programme nicht neu schreiben, weil der Aufwand zu groß ist. C Programme können Funktionalität bieten, die es so in MATLAB nicht gibt und die mit MATLAB nicht bereit gestellt werden kann. Gut geschriebene C Programme sind effektiver/schneller als die entsprechenden MATLAB Programme. Beachte aber : Selbstgeschriebene C Programme können durchaus auch langsamer/ineffektiver sein als die entsprechenden MATLAB Programme. 67

68 Aufruf von externen Funktionen In MATLAB, use functionality from other languages, such as Java, C/C++,.NET, and Python Call MEX File Functions Call C/C++ or Fortran MEX file functions from MATLAB Call C Shared Libraries Directly call C library functions from MATLAB Call Java Libraries Access Java libraries from MATLAB Call.NET Libraries Access.NET libraries from MATLAB Siehe : Help MATLAB > Advanced Software Development > Calling External Functions Call COM Objects Access COM components and ActiveX controls from MATLAB Call Python Libraries Access Python functionality from MATLAB Call WSDL Web Service Communicate with Web service from MATLAB using WSDL (Web Services Description Language) 68

69 1 C Programm unter Windows übersetzen und ausführen Ein C Programm übersetzen und ausführen. C Programm chello.c #include <stdio.h> int f1(char str[]) int main(void) {...} int f1(char str[]) {...} Compiler : gcc chello.c o chello.exe Ausführbares Programm chello.exe Beachte : Das ausführbare Programm (chello.exe) kann unter Windows in einer DOS Box oder per Doppelklick gestartet werden. Einstiegspunkt in das Programm ist die Methode main die Funktion, die nach dem Start des Programms als erste aufgerufen wird. Ein exe Programm kann unter Linux oder MAC OS nicht ausgeführt werden. 69

70 1 C Programm in DOS Box übersetzen C Programme werden normalerweise in einer IDE übersetzt. Beim Übersetzen (Build Prozess) ruft die IDE den Compiler im Hintergrund auf. Der Compiler kann aber auch in einer DOS Box direkt aufgerufen werden. gcc chello.c o hello.exe Damit der Compiler beim Aufruf gefunden wird (d.h. die Datei gcc.exe) gibt es mehrere Möglichkeiten : Absolute Pfadnamen für Compiler, Quell und Zielprogramm verwenden C:>C:\Qt\Qt5.4.0\Tools\mingw491_32\bin\gcc c:\cprog\chello.c o c:\cprog\chello.exe c:\cprog>c:\qt\qt5.4.0\tools\mingw491_32\bin\gcc chello.c o chello.exe In das Verzeichnis wechseln, in dem sich der Compiler befindet C:\Qt\Qt5.4.0\Tools\mingw491_32\bin>gcc c:\cprog\chello.c o c:\cprog\chello.exe Das Verzeichnis, in dem sich der Compiler befindet, zum Wert der PATH Variablen hinzufügen; siehe Systemsteuerung > System > Erweiterte Systemeinstellungen > Umgebungsvariablen C:\cprog>gcc chello.c o chello.exe Mit dem DOS Befehl PATH wird der aktuelle Suchpfad angezeigt. Der DOS Befehl set zeigt alle Umgebungsvariablen an. 70

71 1 C Programm mit Aufrufparametern Wenn ein C Programm gestartet wird, dann kann man dem C Programm auch Parameter übergeben, die vom C Programm gelesen und verarbeitet werden. #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { double a,b,c; printf("%s\n", argv[0]); if ( argc!= 3) { printf("fehler\n"); printf("aufruf: csum a b"); return -1; } a = strtod(argv[1],0); b = strtod(argv[2],0); c = a + b; printf("%.2f+%.2f=%.2f",a,b,c); return 0; } Beachte : argc : Anzahl der Parameter argv[0] : Programmname "csum" argv[1] : ein String "2.1" argv[2] : ein String "4.5" strtod : string to double Umwandlung eines Strings in einen Wert vom Typ double 71

72 2 C Programm in MATLAB ausführen MATLAB bietet eine Schnittstelle (Interface) um C Programme innerhalb von MATLAB/Simulink auszuführen. Das C Programm wird mit dem MATLAB Befehl mex übersetzt. Es wird ein MEX File (Binärfile) erzeugt. Hierbei handelt es sich um eine DLL (Dynamic Link Library). Diese DLL kann zur Laufzeit von MATLAB geladen und ausgeführt werden. Ein MEX File verhält sich wie eine MATLAB Funktion (m File). M Files sind plattformunabhängig (Windows, Mac, Linux, 32 oder 64 Bit). Sie werden vom MATLAB Interpreter gelesen und ausgeführt. MEX Files sind hingegen plattformabhängig und müssen für jedes Betriebssystem getrennt erzeugt werden. Ebenso muss man zwischen 32 und 64 Bit DLLs unterscheiden. MEX Files besitzen die Fileendung mexw32 oder mexw64. Bevor es MATLAB für 32 Bit und 64 Bit gab, wurde die Endung dll verwendet. Damit MATLAB mit der MEX Utility ein C Programm übersetzen kann, muss ein C Compiler vorhanden sein. Die 32 Bit Version von MATLAB bringt bereits einen 32 Bit Compiler mit, den sogenannten lcc Compiler. Die 64 Bit Version von MATLAB enthält keinen C Compiler. Dieser muss separat installiert und MATLAB bekannt gemacht werden. 72

73 2 C Programm in MATLAB ausführen Beispiel mexhello.c Compiler, der zum Übersetzen von mexhello.c verwendet wird MATLAB Befehl mex C Programm mexhello.c übersetzen und eine MEX Function erzeugen Aufruf des Mex Files mexhello Beachte : Der Einstiegspunkt von MATLAB bei der Ausführung eines MEX Files ist die Funktion mexfunction. Diese Funktion muss vorhanden sein und entspricht der Funktion main. Die Parameter der Funktion mexfunction dienen zum Austausch von Information zwischen MATLAB und der DLL Funktionsparameter und Rückgabewerte. 73

74 2 Der Befehl mex >> help mex mex - Build MEX-function from C/C++ or Fortran source code This MATLAB function compiles and links one or more C, C++, or Fortran source files into a binary MEX-file, callable from MATLAB. mex filenames mex option1... optionn filenames mex -setup lang Reference page for mex See also C/C++ Matrix Library API, clear, computer, dbmex, Fortran Matrix Library API, inmem, loadlibrary, mex.getcompilerconfigurations, mexext, pcode, prefdir, system 74

10 Lesen und Schreiben von Dateien

10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 135 10.1 Mit load und save Binäre Dateien Mit save können Variableninhalte binär im Matlab-Format abgespeichert werden. Syntax: save

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Informatik Grundlagen, WS04, Seminar 13

Informatik Grundlagen, WS04, Seminar 13 Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Einführung in QtiPlot

Einführung in QtiPlot HUWagner und Julia Bek Einführung in QtiPlot 30. Juni 2011 1/13 Einführung in QtiPlot Mit Bezug auf das Liebig-Lab Praktikum an der Ludwig-Maximilians-Universität München Inhaltsverzeichnis 1 Programmeinführung

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte

Mehr

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Anleitung für Evident Seite 1 Anleitung für Evident-Anwender: Einbinden der MIZ-Dokumente in Evident. Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Zunächst müssen Sie entscheiden,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü. Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40 CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Bedienungsanleitung Anlassteilnehmer (Vereinslisten) Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

Installation von SAS 9.1.3 unter Windows XP

Installation von SAS 9.1.3 unter Windows XP Installation von SAS 9.1.3 unter Windows XP Als erstes werden Sie aufgefordert, die Setup-Sprache auszuwählen. In den meisten Fällen wird eine deutschsprachige Installation bevorzugt werden. Bestätigen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms

Mehr

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen

Mehr

1. Schritt: Export Datei im Fidelio erstellen

1. Schritt: Export Datei im Fidelio erstellen FIDELIO FRONT OFFICE MAILING MIT MAIL MERGE 1. Schritt: Export Datei im Fidelio erstellen Mail Merge erstellen Unter OPTIONEN ->BERICHTE unter WERBUNG auf VORBEREITUNG MAIL anwählen MAIL MERGE Maske öffnet

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Cisco AnyConnect VPN Client - Anleitung für Windows7

Cisco AnyConnect VPN Client - Anleitung für Windows7 Cisco AnyConnect VPN Client - Anleitung für Windows7 1 Allgemeine Beschreibung 2 2 Voraussetzungen für VPN Verbindungen mit Cisco AnyConnect Software 2 2.1 Allgemeine Voraussetzungen... 2 2.2 Voraussetzungen

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Benutzung der LS-Miniscanner

Benutzung der LS-Miniscanner Benutzung der LS-Miniscanner Seit Januar 2010 ist es möglich für bestimmte Vorgänge (Umlagerungen, Retouren, Inventur) die von LS lieferbaren Miniscanner im Format Autoschlüsselgröße zu benutzen. Diese

Mehr

Wie man eigene Programme erstellt

Wie man eigene Programme erstellt Kapitel 3 Wie man eigene Programme erstellt In diesem Kapitel geht es darum, sich mit einem Compiler vertraut zu machen. Dabei erfahren Sie, wie Sie eigene Programme auf den Systemen Windows und Linux

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

Erstellen der Barcode-Etiketten:

Erstellen der Barcode-Etiketten: Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des Imports und Exports von Adressen Dateiname Beschreibung_-_eCall_Import_und_Export_von_Adressen_2015.10.20 Version 1.1 Datum 20.10.2015 Dolphin Systems AG Informieren

Mehr

2. Word-Dokumente verwalten

2. Word-Dokumente verwalten 2. Word-Dokumente verwalten In dieser Lektion lernen Sie... Word-Dokumente speichern und öffnen Neue Dokumente erstellen Dateiformate Was Sie für diese Lektion wissen sollten: Die Arbeitsumgebung von Word

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

Pixtacy-Anbindung an CleverReach.de

Pixtacy-Anbindung an CleverReach.de Pixtacy-Anbindung an CleverReach.de Stand: 17. Oktober 2014 2014 Virthos Systems GmbH www.pixtacy.de Einleitung Pixtacy verfügt ab Version 2.5 über eine Schnittstelle zu dem Online-Newslettertool CleverReach.de.

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Leitfaden für den Import von Artikeln, Sicherheitsdatenblättern, Leistungserklärungen und CE-Kennzeichnungen

Leitfaden für den Import von Artikeln, Sicherheitsdatenblättern, Leistungserklärungen und CE-Kennzeichnungen Leitfaden für den Import von Artikeln, Sicherheitsdatenblättern, Leistungserklärungen und CE-Kennzeichnungen Import von Artikeln Der Import von Artikeln erfolgt über gleichlautenden Button in der oberen

Mehr

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

Benutzer-Handbuch. Import / Export von Adressen

Benutzer-Handbuch. Import / Export von Adressen Benutzer-Handbuch Import / Export von Adressen 1.00 / 25.07.2005 Copyright (2000-2003) Alle Rechte vorbehalten Dolphin Systems Samstagernstr. 45 CH-8832 Wollerau Inhaltsverzeichnis Einleitung... 2 Voraussetzungen

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

Dokumentation TELAU Post Mobile Billitem Converter

Dokumentation TELAU Post Mobile Billitem Converter Dokumentation TELAU Post Mobile Billitem Converter 2 Inhalt Ausgangslage... 3 Ziel... 3 Installation... 4 Monatlicher Ablauf... 5 Verarbeitung starten... 8 Rücknehmen von Definitionen... 11 3 Ausgangslage

Mehr

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Seite 1/7 Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Hier sehen Sie eine Anleitung wie man einen Serienbrief erstellt. Die Anleitung

Mehr

SOFiSTiK AG 2011. Installationsanleitung

SOFiSTiK AG 2011. Installationsanleitung SOFiSTiK AG 2011 Installationsanleitung Copyright SOFiSTiK AG, D-85764 Oberschleißheim, 1990-2011 Dieses Handbuch ist urheberrechtlich geschützt. Kein Teil darf ohne schriftliche Genehmigung der SO- FiSTiK

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

AutoTexte und AutoKorrektur unter Outlook verwenden

AutoTexte und AutoKorrektur unter Outlook verwenden AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.

Mehr

Informationen zu den regionalen Startseiten

Informationen zu den regionalen Startseiten Informationen zu den regionalen Startseiten Inhaltsverzeichnis Informationen zu den regionalen Startseiten 1 1. Grundlegende Regeln 2 1.1. Was wird angezeigt? 2 1.2. Generelle Anzeigeregeln 2 2. Anpassbare

Mehr

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0)

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0) Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0) Allgemeines Die in Ratio gespeicherten Adressen können jederzeit exportiert werden, um sie an anderer Stelle weiter zu

Mehr

Herzlich willkommen zum Kurs "MS Word 2003 Professional"

Herzlich willkommen zum Kurs MS Word 2003 Professional Herzlich willkommen zum Kurs "MS Word 2003 Professional" 3 Datenaustausch Zum Austausch von Daten zwischen Word und anderen Programmen können Sie entweder über die Zwischenablage oder über Einfügen/Objekt

Mehr

eridea AG Installation Eclipse V 1.4

eridea AG Installation Eclipse V 1.4 Installation Eclipse Inhaltsverzeichnis Einleitung... 2 Voraussetzungen für die Eclipsenutzung... 2 SAP GUI aktualisieren... 2 Java aktualisieren... 3 VC++ aktualisieren... 3 Eclipse installieren... 5

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall 5.0 10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows 7-Firewall konfiguriert und einige

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / 1800. Bits & Bytes Seite 1

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / 1800. Bits & Bytes Seite 1 Anleitung Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7 Palm SPT 1500 / 1550 Palm SPT 1700 / 1800 Bits & Bytes Seite 1 1. Palm einrichten Für die nächsten Schritte nehmen Sie

Mehr

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Ein- und Ausgabe Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Komplexe E/A-Operationen werden erst diskutiert, nachdem das Klassenkonzept erarbeitet

Mehr

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

1. Aktionen-Palette durch Fenster /Aktionen ALT+F9 öffnen. 2. Anlegen eines neuen Set über Neues Set... (über das kleine Dreieck zu erreichen) Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese

Mehr

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren

Mehr

Dokument Lob erstellen

Dokument Lob erstellen Dokument Lob erstellen Vorbemerkung Ein Lob wird immer mit einem Abschlusszeugnis ausgestellt und auch mit diesem Verteilt. Um ein Lob zu dokumentieren müssen folgende Bausteine definiert und eingerichtet

Mehr

Running R. Windows Aus Menü. Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden.

Running R. Windows Aus Menü. Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden. Einführung 1 / 1 Einführung 2/1 Running R Windows Aus Menü Linux Lese R Code ein führt den Code auch gleich aus, eventuell muss vorher das Verzeichnis gewechselt werden. Auf der Konsole/Eingabeaufforderung:

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

TR75E002-A FA / 07.2014. Bedienungsanleitung Industrie-Handsender-Verwaltung IHV DEUTSCH

TR75E002-A FA / 07.2014. Bedienungsanleitung Industrie-Handsender-Verwaltung IHV DEUTSCH TR75E002-A FA / 07.2014 Bedienungsanleitung Industrie-Handsender-Verwaltung IHV DEUTSCH Inhaltsverzeichnis 1 Das Programm Industrie-Handsender-Verwaltung IHV... 3 1.1 Was ist das Programm Industrie-Handsender-Verwaltung

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

CardioChek Link Benutzerhandbuch

CardioChek Link Benutzerhandbuch CardioChek Link Benutzerhandbuch CardioChek Link Benutzerhandbuch Dieses Softwareprogramm ist mit den Betriebssystemen Microsoft Windows 7, Windows 8.X, Vista kompatibel A. Verwendungszweck CardioChek

Mehr

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis BOKUbox BOKUbox ist ein Spezialservice für alle Mitarbeiter/innen der BOKU. Kurzfristiger Austausch von vielen und großen Dateien kann Ihre Mailbox schnell überlasten. BOKUbox ist die perfekte Alternative

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Import und Export von Übergängern

Import und Export von Übergängern Import und Export von Übergängern SibankPLUS bietet Ihnen eine komfortable Schnittstelle, um den Wechsel der Schüler nach der Stufe 4 von der Grundschule auf eine weiterführende Schule zu verarbeiten.

Mehr

xgu 2.0 Installationsanleitung Installationsanleitung Excel Add-In zu ASTAG GU Kalkulationsgrundlage Bern, 19. August 2014 Version: 01.

xgu 2.0 Installationsanleitung Installationsanleitung Excel Add-In zu ASTAG GU Kalkulationsgrundlage Bern, 19. August 2014 Version: 01. Installationsanleitung xgu 2.0 Installationsanleitung Excel Add-In zu ASTAG GU Kalkulationsgrundlage Bern, 19. August 2014 Version: 01.04 Xplanis AG Zentweg 9 CH-3006 Bern Fon +41 (0)31 359 24 54 Fax +41

Mehr

Wie verbindet man Nokia 6600 mit Oxygen Phone Manager II for Symbian OS phones ( http://www.opm-2.com/symbian/ )

Wie verbindet man Nokia 6600 mit Oxygen Phone Manager II for Symbian OS phones ( http://www.opm-2.com/symbian/ ) Wie verbindet man Nokia 6600 mit Oxygen Phone Manager II for Symbian OS phones ( http://www.opm-2.com/symbian/ ) Falls Sie Ihr Telefon mit dem Rechner paarsweise schon verbunden haben, bitte sehen Sie

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

SRH - Kurzinformation

SRH - Kurzinformation SRH - Kurzinformation Dieses Dokument gibt eine Übersicht über das Shockley/Read/Hall-Programm, im folgenden SRH- Programm genannt. Bei dem SRH-Programm handelt es sich um ein Java Programm, welches in

Mehr

Simulink: Einführende Beispiele

Simulink: Einführende Beispiele Simulink: Einführende Beispiele Simulink ist eine grafische Oberfläche zur Ergänzung von Matlab, mit der Modelle mathematischer, physikalischer bzw. technischer Systeme aus Blöcken mittels plug-and-play

Mehr