Computer und Software 1
1. Datenauswertung mit Igor Pro
Vortragender: Christof Köhler, [email protected]
Originalfolien: Bálint Aradi, aus der Vorlesung WS 12/13
BC
Computer und Software 1, WS2013/2014 (1/2)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Informatik im Studium
Computer und Software 1
Computer und Software 2
Wissenschaftliches Programmieren
Computational Physics
Numerische Mathematik
Datenauswertung (Igor)Computer-Algebra-Systeme (Maple)
Numerisches Rechnen (Matlab)
Programmieren + NumerikWissenschaftliches Programmierprojekt
Rechnerunterstützte Physik
1.
2.
4.
5.
Masterarbeit 6.
7. Im 4. Semester als Wahlpflichtfach
BC
Computer und Software 1, WS2013/2014 (1/3)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Computer und Software 1
● Darstellung
● Analyse (Histogramme, Fitten)
Auswerten und Darstellen von Messdaten (Igor Pro)
● Symbolisches Rechnen mit dem Computer
● Umformen und Selektieren von mathematischen Ausdrücken
● Substitutionen und Transformation
● Summen, Produkte, Folgen, Grenzwerte, Reihenentwicklungen
● Zwei- und dreidimensionale Graphiken
● Lösen von Gleichungen und Gleichungssystemen, Ungleichungen
● Differentiation und Integration
● Differentialgleichungen
● Einfache Programme
Computer-Algebra-Systeme (Maple)
BC
Computer und Software 1, WS2013/2014 (1/4)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Organisatorisches
Interaktive Vorlesung nach den ersten beiden Vorlesungswochen:
● Di: 12:15 – 13:45, N3110
● Studenten mit ungerader Matrikelnummer in ungeraden Vorlesungswochen
● Studenten mit gerader Matrikelnummer in geraden Vorlesungswochen
Übung:
● Di: 14:15 – 15:45, N3110
● Studenten mit ungerader Matrikelnummer in ungeraden Vorlesungswochen
● Studenten mit gerader Matrikelnummer in geraden Vorlesungswochen
Abschluss:
● Klausur, in Form von Maple-Aufgaben am Computer
● Terminvorschlag: noch zu machen, je nach Teilnehmerzahl !
BC
Computer und Software 1, WS2013/2014 (1/5)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Datenauswertung
● Daten (Messdaten) erfassen, auswerten und darstellen
● Taschenrechner, Millimeterpapier
● Allgemeine Programmpakete verwendbar u.a. auch zur Datenauswertung undDarstellung (Tabellenkalkulationsprogramme: OpenOffice Spreadsheet, MS Excel)(oft Probleme mit großen Datenmengen, speziellere Sachen fehlen)
● Spezielle Programmpakete zur wissenschaftlichen Datenauswertung:
● Origin (kommerziell),
● SigmaPlot (kommerziell),
● Igor Pro (kommerziell),
● QtiPlot (GPL, binary kostenpflichtig, noch etwas unausgereift)
Ziel
Möglichkeiten
BC
Computer und Software 1, WS2013/2014 (1/6)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Igor – Übersicht
Igor Pro: Lizenz für die Lehre kostenlos
Classroom-Lizenz erlaubt den Gebrauch ausschließlich für Lehrzwecke,nicht aber für Forschung (z.B. Bachelorarbeit) oder privaten Gebrauch.
● … publikationssreife Grafiken erzeugen
● … Daten schnell anzeigen und darstellen
● … mit großen Datenmengen umgehen
● … Funktionen fitten, Datenstatistik und Datenanalyse ausführen
● … mit einer Kombination von graphischer und textbasierter Eingabe bedient werden
● … programmiert werden. Automatisierung durch eingebaute Programmierumgebung.
● … erweitert werden (in C)
Igor kann unter anderem ...
http://www.wavemetrics.com
● Igor ist im Poolraum vorinstalliert (keine Lizenz nötig)
● Programm selber herunterladen: (Für Lizenzschlüssel siehe StudIP)
BC
Computer und Software 1, WS2013/2014 (1/7)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Igor installieren / Dokumentation
Windows:
● EXE-Datei herunterladen, ausführen, dann Programme/Igor Pro/Igor ausführen
Linux:
● EXE-Datei für Windows herunterladen, öffnen (WINE muss installiert sein)
● Programme/WINE-Anwendungen/Igor Pro/Igor ausführen(Eventuell müssen in KDE/Gnome die Alt+Maustasten Kürzel abgeschaltet werden, da diese in Igor in manchen Fällen verwendet werden müssen)
Mac OSX:
● Datei für Mac herunterladen, installieren
● ?
Dokumentation
● Igor Tutorial im Igor (siehe Menü: | Help | Getting started)
● Igor Online Manual (siehe Menü: | Help | Manual
● Webseite: http://www.wavemetrics.com
BC
Computer und Software 1, WS2013/2014 (1/8)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Ablauf der Datenverarbeitung
● Daten erzeugen
● Daten speichern (Experiment sollte regelmäßig gespeichert werden)
● Daten graphisch anzeigen
● Abgeleitete Daten erzeugen
● Daten anzeigen
● Daten analysieren
● Daten exportieren (Druckbild oder Export einzelner Graphen)
Typischer Ablauf:
BC
Computer und Software 1, WS2013/2014 (1/9)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Igor – Grundlegende Konzepte
Welle (wave/waveform) x,y Wertepaare, wobei x-Werte gleichmäßigen Abständen folgen
● Wave hat immer 2 Komponenten: x (berechnet), y (gespeichert)
● In den Tabellen wird standardweise nur die y-Komponente angezeigt
● Wenn x nicht gleichmäßig: y-Werte von zwei Waves zu einem XY-Paar kombinieren
BC
Computer und Software 1, WS2013/2014 (1/10)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Igor – Grundlegende Konzepte (#2)
● Abbildung (Graph): Graphische Darstellung von Daten
● Tabelle (Table): Numerische Darstellung von Daten
● Seitenlayout (Page layout): Anordnung von Abbildungen und Tabellen zum DruckenWird automatisch aktualisiert, falls Abbildungen oder Tabellen geändert werden.
● Notizblock: Textkommentare zu den Daten(Bitte, wichtigste Ergebnisse dokumentieren! Laborbuch unabhängig davon !)
BC
Computer und Software 1, WS2013/2014 (1/11)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Startbildschirm
Leere Tabelle
Kommandofenster
Befehlseingabe
Ausgabe, vorangehende Befehle
Tabellenspalte (Daten in einem Wave)
BC
Computer und Software 1, WS2013/2014 (1/12)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Dateneingabe: Manuelle Eingabe
● 1. freie Spalte, Zeile 1 anklicken
● Zahl eingeben [Enter]
● Nächste Zahl eingeben [Enter]
:Index für die X-Werte
Automatischer Name
EingegebeneWerte (Y)
Daten eingeben
Wave umbenennen:
● Rechtsklick an Wavename
● Neuen Namen eingeben
● Ausführen (Do It)
Ausgeführter Befehl
BC
Computer und Software 1, WS2013/2014 (1/13)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Dateneingabe: Externe Datei
| Data | Load Waves | Load General Text
Datei 'aufg_3.dat'
2 15.53
4 15.77
:
Datei einlesen
Wave(s) anzeigen
| Table | Append Columns to Table ...
● Wave(s) werden im Speicher abgelegt(aber nicht angezeigt) Wavename für jede Spalte
Strg+Links: mehrere Auswählen
BC
Computer und Software 1, WS2013/2014 (1/14)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Daten bearbeiten – Waveoperationen
Ziel: Daten in A3_T10 sollen durch 10 geteilt werden und als A3_T1 gespeichert werden
Wave duplizieren: Data | Duplicate Waves ...
Neue Wave anzeigen lassen: | Table | Append Columns to Table ...
Waveoperation ausführen:
A3_T1 = A3_T10 / 10
Neuer Name
Vorlage
● Im KommandofensterRelation eingeben
BC
Computer und Software 1, WS2013/2014 (1/15)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Waveoperationen im Allgemeinen● Waves auf linker und rechter Seite müssen die selbe Anzahl an Elementen haben
● Wave auf der rechten Seite muss vorher erzeugt worden sein! (z.B. mit Duplicate Wave)
● Operation wird elementenweise ausgeführtwave2 = wave1 * pi wave2[0] = wave1[0] * pi
wave2[1] = wave1[1] * pi:wave2[n] = wave1[n] * pi
äquiv.
● Erlaubte Operationen: praktisch jeder arithmetischer Operator und reelle Funktion
wave2 = wave1 + 10wave2 = sin(wave1)wave2 = wave1^2:
Quadrieren
● Es können mehrere Waves auf der rechten Seite vorkommen (vorausgesetzt gleich lang)
wave3 = wave1 * wave2 wave3[0] = wave1[0] * wave2[0]wave3[1] = wave1[1] * wave2[1]:wave3[n] = wave1[n] * wave2[n]
äquiv.
BC
Computer und Software 1, WS2013/2014 (1/16)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Analyse – statistische Größen
| Analysis | Wave Stats ...
V_npnts Anzahl der Punkte
V_avg Mittelwert
V_sdev Standardabweichung
:
● Die angezeigten Größen können in weiteren Operationen verwendet werden:
print V_sdev / sqrt(V_npnts)
Waveauswahl
● Ergebnis erscheint im Kommandofenster
Berechnen und Anzeigen desVertrauensbereiches:
s=±s
n
BC
Computer und Software 1, WS2013/2014 (1/17)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Analyse – Histogramm (#1)
Analysis | Histogram
Ausgabewave (automatisch)
Eingabewave
Automatische Bereichwahl
Anzahl der Bereiche
Manuelle Bereichwahl
Erster Bereich ab
Breite eines Bereiches
Anzahl der Bereiche
● Es wird ein Wave mit den Daten des Histogramms erzeugt
● Name kann im Kommandofenster nachgeschaut werden (Wavename + '_Hist')
BC
Computer und Software 1, WS2013/2014 (1/18)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Analyse – Histogramm (#2)
Anzeigen des Histogramms in der Tabelle: Table | Append Columns to Table
Anzeigen der X-Koordinate der Wave
Name der Wave (A3_T1_Hist)
X-Koordinate (Beginn der einzelnen Bereiche)
Y-Koordinate/Daten (Anzahl der Meßwerte)
BC
Computer und Software 1, WS2013/2014 (1/19)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Analyse – Histogramm (#3)
Darstellung des Histogrammes als Abbildung
● Neue Abbildung erstellen: | Windows | New Graph ..
X-Koordinate(berechnete X-Werte der Wave)
Y-Koordinate(Daten in der Wave)
Darstellung als Abbildung
BC
Computer und Software 1, WS2013/2014 (1/20)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Analyse – Histogramm (#4)
Abbildungsmodus verändern | Graph | Modify Trace Appearance
oder Doppelklick auf die Kurve
Kurve auswählen
Darstellungsart (Bar)
(evtl.) Füllmuster auswählen
BC
Computer und Software 1, WS2013/2014 (1/21)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Abbildungen – Achsen verändern
| Graph | Modify Axis oder Doppelklick auf die Achse
Y-Achse auswählen (left)
Achsenbereich einstellen
Zwischen Werten runden
Ab Null
Achsenbeschriftung einstellen
Achsenbeschriftung
BC
Computer und Software 1, WS2013/2014 (1/22)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Abbildungen – Achsen verändern (#2)
X-Achse auswählen (bottom)
Achseneinteilung einstellen
Manuelle Ticks
Erster Tick, Abstand, am bestem mit auto-Anzahl der Dezimalstellen values starten !
Achsenbeschriftung einstellen
BC
Computer und Software 1, WS2013/2014 (1/23)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Messdatenanalyse
Messwerte darstellen:
● Bsp.: Zurückgelegter Weg eines sich gleichmäßig bewegenden Objektes wird gemessenWave 'Zeit' enthält die Messzeitpunkte, Wave 'Weg' den zurückgelegten Weg
Y-Koordinate
X-Koordinate(explizit als Wave, nicht berechnet!)
Darstellungsart: Markers
Achsenbeschriftung, etc.:wie beim Histogramm
BC
Computer und Software 1, WS2013/2014 (1/24)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Messdatenanalyse
Messfehler eintragen:
| Graph | Modify Trace Appearance
Fehlerbalken einzeichnen
Fehler (Annahme: konstant) für Y und X
BC
Computer und Software 1, WS2013/2014 (1/25)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Messdatenanalyse
● Wenn Fehler berechnet wurde und in einer Wave (+/- Wave) gespeichert ist:
● +/- Wave muss genauso viele Einträge haben, wie die Messdatenwaves!
BC
Computer und Software 1, WS2013/2014 (1/26)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Messdatenanalyse – Fitten
Den Zusammenhang zwischen den Messdaten ermitteln: | Analysis | Curve fitting ...Y-Koordinate
X-Koordinate
Zusammenhang
● Ergebnis wird sowohl graphisch als auchin Textform (im Kommandofenster)angegeben
● Fehler des Fits wird angegeben
● Fitkoeffizienten können im Kommandofenster als Variablen wiederverwendet werden:
print -W_coeff[0] / W_coeff[1](Schnittpunkt mit der x-Achse)
BC
Computer und Software 1, WS2013/2014 (1/27)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Ergebnisse ordnen
Seitenlayout erstellen
● Ein Seitenlayout is eine feste Anordnung von Objekten (Tabellen/Abbildungen)
● Es können beliebig viele Seitenlayouts erstellt werden.
● Seitenlayouts werden automatisch aktualisiert, wenn die Objekte verändert werden.
Seitenlayouts
| Windows | New Layout ...
Objekte für das Seitenlayout auswählen
Objekte können beliebig vergrößertund verschoben werden
Anbringen von Textelementenmöglich
BC
Computer und Software 1, WS2013/2014 (1/28)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Aufgabe
● Berechnen Sie die geforderten Größen und erstellen Sie die nötigen Abbildungen für das physikalische Praktikum m1 (Bestimmung der Erdbeschleunigung) mit Igor Pro!
● Die Praktikumbeschreibung und die Messdaten können von der Webseite der Veranstaltung C&S 1 heruntergeladen werden:
m1_pendel.pdf Praktikumsbeschreibung
aufg_1a.dat 25 Messungen für jeweils 10 Schwingungen [s],gemessen beim Nulldurchgang
aufg_1b.dat 25 Messungen für jeweils 10 Schwingungen [s],gemessein beim Umkehr
aufg_2.dat 25 Messungen für jeweils 1 Schwingung [s]
aufg_3.dat Länge der Pendelverkürzung [cm] (1. Spalte),Dauer von 10 Schwingungen bei gegebener Pendellänge [s] (2. Spalte)
http://www.bccms.uni-bremen.de/cms/lehre/cs1/
BC
Computer und Software 1, WS2013/2014 (1/29)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Hilfestellung
● Lesen Sie die erste Messreihe ('aufg_1a.dat') in eine Wave ein, duplizieren Sie die Wave, und setzen Sie ihren Wert auf ein Zehntel des Ursprungswertes (Dauer einer Schwingung). Wenden Sie 'Wave Stats' auf diese Wave an. Berechnen Sie den das Konfidenzintervall, indem Sie die Standardabweichung (V_sdev) durch die Wurzel der Anzahl der Messpunkte (sqrt(V_npnts) teilen. Wiederholen Sie dieses Vorgehen für die zweite Messreihe ('aufg_1b.dat').
● Erzeugen Sie ein Histogramm für die aus der ersten Messreihe errechneten Einzelschwingungsdauern. Lassen Sie Igor 5 Intervalle automatisch ermitteln. Wählen Sie die Ticks auf der x-Achse so, dass diese mit den Intervallgrenzen zusammenfallen. Beschriften Sie die Achsen. Wiederholen Sie dies für die zweite Messreihe.
Aufgabe 1
BC
Computer und Software 1, WS2013/2014 (1/30)Bremen Center for
Computational Materials ScienceMC S
http://www.bccms.uni-bremen.de/cms/lehre/cs1
Hilfestellung
Aufgabe 2
● Laden Sie die dritte Messreihe (Längenkürzung gegen Schwingungsdauer) in zwei Waves. Ermitteln Sie die Schwingungsdauer für eine Schwingung wie in Aufgabe 1. Duplizieren Sie diese Wave und quadrieren sie, indem Sie die Wave mit sich selbst multiplizieren. Stellen Sie die Quadrate der Schwingungszeiten in Abhängigkeit von der Länge dar. Fitten Sie eine Gerade daran an !
● Berechnen Sie aus den Koeffizienten des Fits die Erdbeschleunigung und die Pendellänge. Achtung: Koeffizienten für Steigung und Achsenabschnitt korrekt zuordnen !
print 4 * pi^2 / w_coef[1]
print -w_coef[1] / w_coef[0] (Schnitt mit x-Achse)
● Berechnen Sie die Messunsicherheit (2 T * dT), indem Sie die Wave mit den Messzeiten (T) duplizieren, und die Kopie mit 2 T * dT ersetzen, wobei Sie für dT die Standardabweichung von Aufgabe 1 annehmen. Modifizieren Sie die Abbildung, indem Sie Fehlerbalken via '+/- Wave' Methode zeichnen lassen, wobei als +/- Wave die gerade erzeugte Wave verwendet wird.