Datei-Verarbeitung. Peter Sobe 60



Ähnliche Dokumente
2. Einführung in das Ingenieurtool MATLAB

Ulrich Stein

Zahlreiche Möglichkeiten zum dauerhaften Speichern und Laden von Daten Meist: Speichern in verschiedenen Dateiformaten Anwendungen:

10 Lesen und Schreiben von Dateien

m-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.

Wima 1 - Praktikum (Woche 4)

8. Arbeiten mit Dateien

Input, Output, Dateien

Strings. Daten aus Dateien einlesen und in Dateien speichern.

2. Einführung in das Ingenieurtool MATLAB

Dateizugriff unter C

WiMa-Praktikum 1. Woche 4

10:Exkurs MATLAB / Octave

Schleifen. Auch das Berechnen von Produkten kann analog formuliert werden.

Zyklen: break und continue

Woche 18/01 26/01 6. Iterative Lösungsverfahren, Speicherformate für Matrizen 1 / 8

high level I/O/ low level I/O

Matlab Praktikum - Tag 3

Programmiersprachen Einführung in C

Numerik-Programm, mittlerweile mit vielen Erweiterungen (Toolboxen) Matlab = Matrix Laboratory Sehr gute Doku (doc, help, lookfor)

Ein-/Ausgabe, Dateisystem. Kapitel 9: Ein-/Ausgabe. Programmieren in C für Elektrotechniker. Programmieren in C. Dateisystem. Programmieren in C

WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Advanced Matlab. living knowledge WWU Münster. Mario Ohlberger, Martin Drohmann, Stefan Girke 10/05/2012

Zweiter Teil des Tutorials. Workspace M-files Matrizen Flow Control Weitere Datenstrukturen Gemeinsames Beispiel erarbeiten

Prof. Dr. Stefan Funken, Dipl.-Ing. Christoph Erath 15. Mai WiMa-Praktikum (Matlab 2/9) Einführung in LATEXund Matlab

Syntax Variablen. mtrx <- matrix (c(1,2,3,4,5,6),ncol=2,nrow=3) Anzeigen des Types: class(var) Umwandeln mit: as.vector(mtrx)

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien

Informatik Erste Schritte mit MATLAB

E-/A-Funktionalität nicht Teil der Programmiersprache

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Funktionen in Matlab. Lehrstuhl für Angewandte Mathematik Sommersemester und 29. Mai 2008

Projektkurs MATLAB. ik i i ITK Engineering AG 1

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

PPS "Bits on Air" 1. Teil, Matlab-Tutorial Vorbereitungsaufgaben (Lösungsvorschläge)

Anwendungssoftware III (MATLAB)

Einführung in MATLAB

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

Programmiervorkurs für die Numerik Teil 2/4

Dateien (1) Datenströme

Einführung in Matlab. Eike Meerbach 6. Mai Typeset by FoilTEX

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Musterklausur_2 Grundlagen Informatik

Grundlagen der Optimierung. Übung 1

Machine Learning. von Nico Hezel

Kurze Einführung in Octave

Dateien lesen und schreiben mit php

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Scilab Consortium (École Polytechnique... Renault) kostenloses Download

Matlab: eine kleine Einführung 4

Matlab: eine kleine Einführung 2

Matlab: eine kleine Einführung

Einführung in MATLAB für Maschinenbauer im ersten Semester. Aufgaben und Lösungen

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Grundlagen der Videotechnik (Angewandte Mediensysteme/Prof. Schuller)

MATLAB Sommersemester 2018 Dr. Ulf Mäder

Einführung in MATLAB Blockkurs DLR:

Einführung in. Pierre Bayerl

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Matlab Selbstlernkurs

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Grundlagen von MATLAB

Matlab: Grundlagen und Hilfen

Programmierung von CAx-Systemen Teil II

3 Kurzeinführung in Matlab

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Sequentielle Textdateien HARALD NAHRSTEDT. Erstellt am

Arrays (Felder/Vektoren)

Einführung in das rechnergestützte Arbeiten

KLAUSUR ZUM BACHELORMODUL,,EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2011/12, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

1 Berechnung von Summen (ca = 10 Punkte)

Probeklausur Informatik 2 Sommersemester 2010

Anwendungssoftware III (MATLAB)

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Mathematische Computer-Software

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

Übersicht Shell-Scripten

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

2. Programmierung in C

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

MATLAB. Eingabe und Ausgabe

Beispiel / Übung: Prof. Dr. A. Christidis WS 2012/13

6.2 Extras/Lesen aus Dateien

Programmieren in C++

Informatik 1 MATLAB-Labor 1

Einstieg in die Informatik mit Java

Einführung in die Programmierung (MA8003)

Mapra: C++ Teil 9. Felix Gruber, Sven Groß. 20. Juni IGPM, RWTH Aachen. Felix Gruber, Sven Groß (IGPM) Mapra: C++ Teil 9 20.

Einführung in die Programmierung (MA8003)

Programmieren in C/C++ und MATLAB

INTELLIGENTE DATENANALYSE IN MATLAB. Einführung in MATLAB

Informatik I (D-ITET)

Schriftlicher Test zu C++ (90 Minuten) VU Einführung ins Programmieren für TM. 22. Juni 2012

Einführung in die Programmierung (MA8003)

Transkript:

Datei-Verarbeitung Eine Datei: ist ein benanntes Objekt im Dateisystem, ist eine lineare Anordnung einzelner Bytes, die geschrieben, bzw. gelesen werden können, kann vergrößert (Schreiben bzw. Anhängen), und auch verkleinert werden (Überschreiben mit kleinerem Inhalt, Abschneiden). Es wird eine Vielzahl unterschiedlicher Dateien im Dateisystem verwaltet. Das Dateisystem speichert Informationen über Dateien (Namen, Größe, Ort) und die enthaltene Daten auf einem nichtflüchtigen Speicher (Festplatte, Flash-Memory, SSD, Magnetband, CD/DVD/BlueRay, früher auch Diskette) Dateien können durch Anwungsprogramme erzeugt, verändert, gelesen, kopiert, verschoben und gelöscht werden Peter Sobe 60

Datei-Verarbeitung: Save, Load Matlab kann im interaktiven Modus Dateien benutzen: um Skripte und Funktionen in s.g. m-dateien zu speichern um den Workspace zu sichern und wiederherzustellen >> save mein_workspace_27_05_2014 alle Variablen (Namen, Typ und Werte) werden in der Datei mein_workspace_27_05_2014.mat gespeichert diese Datei hat einen Matlab-spezifischen Aufbau und kann nicht ohne weiteres durch andere Programme verarbeitet werden >> load 'workspace_27_05_2014 alle Variablen werden wiederhergestellt wie zum Zeitpunkt des save-befehls Peter Sobe 61

Datei-Verarbeitung: Save, Load Matlab kann im interaktiven Modus Dateien benutzen um einzelne, bzw. mehrere ausgewählte Variable zu sichern und wiederherzustellen >> [X,Y] = meshgrid(1:0.1:5, -1:0.1:+1); >> save matrizen_27_05_2014 X Y etwas später >> load matrizen_27_05_2014 die Variablen X und Y werden wiederhergestellt wie zum Zeitpunkt des save-befehls Ein anderes Beispiel: satz_der_woche='das ist der Satz, den sich keiner merken kann.'; >> save satz_der_woche; Es wird eine Datei satz_der_woche.mat angelegt >> load satz_der_woche; oder >> load satz_der_woche ; Peter Sobe 62

Datei-Verarbeitung: Save, Load Das Speichern und Laden einzelner Variablen ist auch innerhalb von Skripten sinnvoll einsetzbar. Matlab kann Daten in ASCII-Format exportieren. Dazu wird save mit der Option ASCII benutzt. Die entstehe Datei enthält die Daten einen textformat. Ein Beispiel-Skript folgt: werte=[]; while(1) % Zyklus wird durch break verlassen w=input('geben Sie bitte einen Wert ein (-1 für Ende):'); if (w==-1) break; werte = [werte w]; fprintf('eingabe wurde beet...\n'); save werte.txt werte -ASCII; fprintf('werte wurden nach werte.txt geschrieben\n'); Peter Sobe 63

Datei-Verarbeitung: Daten-Export Wie sehen exportierte Textdateien aus? V = [1 2 3 4]; M = [55 44; 33 66]; save vek.txt V -ASCII; save mat.txt M ASCII; vek.txt 1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00 mat.txt 5.5000000e+01 4.4000000e+01 3.3000000e+01 6.6000000e+01 Peter Sobe 64

Datei-Verarbeitung: Daten-Import Sind Daten als Textdatei in einer Reihe gespeichert, so können sie durch Matlab auf einen Vektor eingelesen werden. datenimport1.txt 12 13 12 13 14 12 12 10 9 11 >> load ASCII datenimport1.txt; whos datenimport1 1x10 80 double Sind Daten als Textdatei in mehreren Reihen gespeichert, so werden sie durch Matlab auf eine Matrix eingelesen. datenimport2.txt 12.5 13.4 15.1 11.2 >> load ASCII datenimport2.txt; whos datenimport1 1x10 80 double datenimport2 2x2 32 double Peter Sobe 65

Schrittweiser Zugriff auf Daten aus einer Datei Schrittweiser (sequentieller) Zugriff wird typischerweise in Skripten und Funktionen benutzt: Öffnen einer Datei mittels fopen Mehrfaches Lesen mit verschiedenen Funktionen, z.b. fgetl (file get line), oder fscanf (formatiertes Lesen auf eine oder mehrere Variablen) Schließen einer Datei mittels fclose Die Zugriffe werden über das s.g. Dateihandle (file handle) auf eine geöffnete Datei ausgerichtet. f = fopen('externedaten.txt'); % hier ist f das file handle zeile1 = fgetl(f); zeile2 = fgetl(f); fclose(f); Peter Sobe 66

Schrittweiser Zugriff auf Daten aus einer Datei variable = fscanf(file_handle, format); oder variable = fscanf(file_handle, format, dimesionsangabe); Format: %d für Integerzahl (nur ganzzahlige Werte) %f für Fließkommazahl %g für Fließkommazahl im wissenschaftlichen Format Fehlt die Dimensionsangabe, so versucht fscanf() die Variable als Spaltenvektor so lange wie möglich zu füllen. Beispiel: V = fscanf(f, %f ); M = fscanf(f, %f, [spalten, zeilen]); Peter Sobe 67

Schrittweiser Zugriff auf Daten aus einer Datei fprintf(file_handle, format, variablen); oder fprintf( format, variablen); % ohne file-handle bedeutet Ausgabe auf Konsole Beispiel: fprint(f1, %f,v); fprintf(f1, %f, M); Bei der Ausgabe werden die Dimensionen der Variablen berücksichtigt. Peter Sobe 68

Darstellung von Daten aus einer Datei Datei mit Daten: Skript: Geschwindigkeit nach Alter des Fahrers Alter der Fahrers Geschwindigkeit 18 55 22 51 23 63 22 50 50 52 44 55 19 44 f = fopen('externedaten.txt'); titelzeile = fgetl(f); x_beschriftung = fgetl(f); y_beschriftung = fgetl(f); Z = fscanf(f,'%g',[2,26]); plot(z(1,:),z(2,:),'*'); title(titelzeile); xlabel(x_beschriftung); ylabel(y_beschriftung); axis([10,85,0,80]); fclose(f); Peter Sobe 69

Darstellung von Daten aus einer Datei Erzeugter Plot: Peter Sobe 70

Eval Die eval-funktion führt den als Parameter übergebenen String (ausdruck) als Matlab-Anweisung aus. [ausgabe1, ausgabe2, ] = eval (ausdruck) Anwung: Übergabe von Berechungsvorschriften an Funktionen. Die Funktionen werden damit flexibilisiert. Zum Beispiel kann die Nullstellensuche durch das Intervallhalbierungsverfahren so als allgemeines Verfahren für verschiedene Funktionen entworfen werden. function [nst] = NSTSuche_eval (a,b, funktionsausdruck) m=(a+b)/2; % Quellcode nur Auszugsweise x=m; y = eval( funktionsausdruck); nst = m; Peter Sobe 71

Eval (Fortsetzung) Nullstellensuche mit Eval, Vollständige Funktion: function [nst] = NSTSuche_eval (a,b, funktionsausdruck) m=(a+b)/2; x=m; y = eval( funktionsausdruck); while abs(y)>0.000001 fprintf('m=%f y=%f \n ',m,y); if (y > 0) a = m; else b=m; nst=m; m=(a+b)/2; x=m; y = eval( funktionsausdruck); Aufruf: f_ausdruck= 0.3*cos(x+1)+sin((x+1)/2)-(x/5) ; nst = NSTSuche_eval (0,5, f_ausdruck); nst = 3.5658 Peter Sobe 72

Funktions-Handles Funktionshandles: Variablen, die eine Funktion speichern können. FH_winkelfun = @cos; % Funktionshandle FH_winkelfun speichert Verweis auf cos FH_winkelfun(pi/2) ans = 6.1232e-17 das ist praktisch Null FH_winkelfun = @sin; % Funktionshandle FH_winkelfun speichert Verweis auf sin FH_winkelfun(pi/2) ans = 1 Funktionshandles können die genutzten Funktionen flexibilisieren und auch als Übergabe an andere Funktionen benutzt werden. Peter Sobe 73

Eval (Fortsetzung) Nullstellensuche mit Funktionshandle, Vollständige Funktion: function [nst] = NSTSuche_fun_handle(a,b, F) m=(a+b)/2; y = F(m); while abs(y)>0.000001 fprintf('m=%f y=%f \n ',m,y); if (y > 0) a = m; else b=m; m=(a+b)/2; y = F(m) nst=m; Aufruf: nst = NSTSuche_fun_handle (0,5, @fun); nst = 3.5658 Peter Sobe 74