Computergestütztes wissenschaftliches Rechnen SoSe 2004

Ähnliche Dokumente
Computergestütztes wissenschaftliches Rechnen SoSe 2004

Numerische Mathematik 1

Einführung in GNUPLOT

EINFÜHRUNG IN DIE WISSENSCHAFTLICHE DATENANALYSE

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Organisation: Algorithmische Mathematik WiSe 2013/2014

Computergestütztes wissenschaftliches Rechnen SoSe 2004

Algorithmen zur Datenanalyse in C++

Daniel S. Steingrube Institut für Quantenoptik Leibniz Universität Hannover.

Rechnernutzung in der Physik Computeralgebra/Mathematica

Gnuplot. Justin Simon Bayer. 12. Januar 2006

Mathematisch-algorithmische Grundlagen für Big Data

Computergrundlagen Visualisierung - Plotten Gnuplot Xmgrace

T.Bosse. Institut fu r Mathematik Humboldt-Universita t zu Berlin. COMA U bung 2. T.Bosse. Einfu hrung in Beamer 1 / 18. Grundlagen Quellen

1 Starten und Installation von gnuplot

Computergrundlagen Visualisierung II: Gnuplot und Engauge

Numerische Methoden und Algorithmen in der Physik

Optimierung des dynamischen Verhaltens netzstützender Anlagen am Beispiel der Virtuellen Synchronmaschine

Computergrundlagen Visualisierung II: Gnuplot und Engauge

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren

Kurzeinführung in GNUPLOT

Statistik, Datenanalyse und Simulation

Programmieren für Physiker: C++ SS 2016

TI III: Operating and Communication. WS 2008/09 Übungsblatt Nr. 1

Übungspaket 12 Der Datentyp char

Programmierkurs für Chemiker in Fortran Sommersemester 2013

Computergrundlagen Visualisierung quick&dirty: Gnuplot

Organisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben

printf("%c \n", 'd'); printf("%lx \n", 32L); printf("%o \n", 64); printf("%f \n", 1.0E-2); printf("%d \n", '\r'); printf("%f \n", 1.0/2.

Numerische Methoden der Physik. 5 Gewöhnliche Differentialgleichungen, Randwertprobleme

Informatik II Algorithmen & Datenstrukturen

Informatikgrundlagen (WS 2016/2017)

Informatik 1 (WS 2018/2019)

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

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

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Einführung in die Programmierung

Einführung in die Programmierung Wintersemester 2017/18

Einführung in die Programmierung Wintersemester 2010/11

Programmieren für Physiker: C++ SS 2017

Programmieren für Physiker: C++ SS 2018

Hydroinformatik II: Grundlagen der Kontinuumsmechanik

Embedded SQL in PostgreSQL

Computergrundlagen Computergestützte Physik

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Ein- und Ausgabe mit Dateien

Übungspaket 7 Angemessenes Formatieren von C-Programmen

Programmiersprachen Einführung in C

Computergrundkenntnisse und Programmieren, WS 11/12, Übung 7: Grafik

Vorlesung: Rechnergestützte Physik (Comp. Physics)

Einführung in die Programmierung II. 1 Einleitung/Übersicht

Informatik I - Übung 2 Programmieren in Eclipse

C-Kurs 2010 Pointer. 16. September v2.7.3

Grundlagen der Monte Carlo Simulation

Teil II. Literatur zur C-Programmierung:

Abschätzung der Suchbaumgröße

Ein- und Ausgabe mit Dateien

Programmieren für Physiker: C++

Hydroinformatik II: Gerinnehydraulik

MATLAB Einführung. Numerische Methoden für ITET und MATL Dr. S. May, D. Devaud. ETH Zürich, Seminar for Applied Mathematics

Grundlagen der Informatik III Wintersemester 2010/2011

Statistische Methoden der Datenanalyse

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Programmierparadigmen

Algorithmen und Datenstrukturen

Probeklausur. Computergrundlagen WS 2012/2013

Grundlagen der Informatik

Informatikgrundlagen (WS 2015/2016)

Kapitel 7: Rekursion. Inhalt. Rekursion: Technik Rekursion vs. Iteration

Statistische Mechanik ungeordneter Systeme, SoSe 2005

Algorithmen und Datenstrukturen

Computational Physics

3D Programmierpraktikum: Einführung in C++ - Teil 1

Einführung in gnuplot

Musterlösung zur 6. Übung

Algorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315

Programmierkurs ( Wintersemester 2017 ) Aufgabenblatt 3 Dr. Ole Klein, Dr. Steffen Müthing Abgabe 20. November 2017 IWR, Universität Heidelberg

Informatik Erste Schritte mit MATLAB

C++ für Physiker Jan Totz

Informatik I (D-MAVT)

S7ComRaspi. Schönberger Thomas 2016 Schönberger Thomas

WS 2015/16 Diskrete Strukturen Organisatorisches

Übungspaket 23 Mehrdimensionale Arrays

Beispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden

Seminar «Modellierung und Simulation»

Algorithmen zur Datenanalyse in C++

Rechnerorganisation Tutorium Nr. 1

Übungspaket 25 Kommandozeilenargumente

Die C++ Standard Template Library Andreas Obrist

Delegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein

gnuplot Tool zum 2- und 3-dimensionalen Plotten von Daten: Funktionen und Datenfiles. Einfache Fits von Funktionen Viele Ausgabeformate:

Lösung Übungsblatt 11

Computernutzung für Experimentalphysiker Frei progammierbare Rechner als Werkzeuge in der Experimentalphysik Teil 2

L A T E X-Kurs. Teil 4 - Datenanalyse - Qti Plot. Fachschaft Physik Uni Konstanz WS 2015/16

Eine Mini-Shell als Literate Program

Transkript:

Computergestütztes wissenschaftliches Rechnen SoSe 2004 Alexander K. Hartmann, Universität Göttingen April 19, 2004 1 Einführung 1.1 Warum Computerphysik? Vorteil analytische Theorie: große Systeme Nachteil: Nur GANZ wenige Probleme lösbar, insbesondere kaum Dynamik Computerphysik: gerade umgekehrt viele (neue) Anwendungen, z.b. kombinatorische Optimerung, Molekularbiologie, Neuronale Netze, Graphen,... Algebraische Umformungen (Maple) Auswertung/Darstellung von Daten Selbst manche Experimente BRAUCHEN Simulationen (CERN Ereignisbestimmung) Späteres außeruniversitäres Berufsbild: kaum im Studium vor Überwiegend Informationstechnik, kommt Praktischer Grund: Pflichvorlesung Basis für Computerübungen (z.b. dieses Semester QM I) Schein als Informatik Nebenfach Schein 1.2 Semesterübersicht Hier wenig Numerische Mathematik NAM Programmiersprache: C (Unix/Linux) Internet: www.theorie.physik.uni-goettingen.de/~hartmann/nwgruppe/teaching.html 14.4 Einführung, Literatur, Populationsdynamik 21.4 Numerische Fehler, Libraries, Nullstellen, DGLs 28.4 Zufallszahlen 5.5 Algorithmen 12.5 Molekulardynamik I 1

19.5 Molekulardynamik II 26.5 Datenstrukturen, Ereignis-gesteuerte Simulationen 2.6 Perkolation 9.6 Bibliotheken, Datenauswertung 16.6 Monte Carlo I 23.6 Monte Carlo II 30.6 Quanten Monte Carlo oder Polymere auf Gittern 7.7 Graphen /-algorithmen 14.7 Optimierungsalgorithmen/ Ausblick Übungen: Prof. T. Pruschke. Vorbesprechung/Termine: Fr 16.3, 10ct, Cip-Pool. 1.3 Literaturhinweise R. Sedgewick, Algorithms in C, (Addison-Wesley, Reading (MA) 1990) T.H. Cormen, S. Clifford, C.E. Leiserson, und R.L. Rivest, Introduction to Algorithms, (MIT Press 2001) B.W. Kernighan und R. Pike, The Practice of Programming, (Addison- Wesley, Reading (MA) 1999) A.K. Hartmann und H. Rieger, A practical guide to computer simulation http://www.theorie.physik.uni-goettingen.de/support/rechner /Programmierung/simulation_guide.ps.gz W.H. Press, S.A. Teukolsky, W.T. Vetterling, und B.P. Flannery, Numerical Recipes in C (Cambridge University Press, Cambridge 1995); see also www.nr.com W. Kinzel und G. Reents, Physics by Computer, (Springer, Berlin-Heidelberg- New York 1999) M.P. Allen und D.J. Tildesley, Computer Simulation of Liquids, (Clarendon Press, Oxford 1990) D.P. Landau und K. Binder, A Guide to Monte Carlo Simulations in Statistical Physics, (Cambridge University Press, Cambridge 2000). M.E.J. Newman und G.T. Barkema, Monte Carlo Methods in Statistical Physics (Clarendon Press, Oxford, 1999)

1.4 Gnuplot Aufruf gnuplot in Shell. Der Prompt erscheint: gnuplot > Kommandos eintippen. Plotten eins x-y-dy file, z.b. sg e0 L.dat (Grundzustands Energy eines Spinglases als Funktion der System Größe). File Format: 1 Punkt pro Zeile, Kommentare (#) ignoriert: # ground state energy of +-J spin glasses # L e_0 error 3-1.6710 0.0037 4-1.7341 0.0019... 14-1.7866 0.0007 gnuplot> plot "sg_e0_l.dat" with yerrorbars (short: ) p "sg_e0_l.dat" w e Window mit Plot erscheint. Andere Typen möglich, z.b. with lines. Plotten von multicolumn Dateien, z.b.. gnuplot> plot "test.dat" using 1:4:5 w e Mehr Infos: help plot eintippen. 3d Plots: splot. Achsenbezeichnungen: gnuplot> set xlabel "L" und Plotbefehl wieder ausführen, oder replot. Ausgabe als Postscript Datei: gnuplot> set terminal postscript gnuplot> set output "test.eps" und wieder plotten. Scripts = ASCII Dateien (z.b. commands.gp) mit gnuplot Kommandos. Kann man automatisch generieren. Dann gnuplot command.gp aus der Shell. 1.5 Populationsdynamik Iteration x n+1 = 4rx n (1 x n ) = f(x n ) n = 0, 1, 2,... (1) Beschreibt Population x [0, 1] mit Wachstumsparameter 4r. Lineares Wachstum 4rx, begrenzt durch nichlinearen Term 4rx 2. Program population0.c

#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) int iter; /* iteration counter */ double x; /* population */ double r; /* growth factor */ r = 0.249999; x = 0.5; for(iter=0; iter<1100; iter++) printf("%d %e\n", iter, x); x = 4*r*x*(1-x); return(0); cc -o population0 population0.c population0 > pop_t.out gnuplot gnuplot> plot "pop_t.out" ergibt: 0.5 "pop_t.out" 0.45 0.4 0.35 0.3 x 0.25 0.2 0.15 0.1 0.05 0 0 200 400 600 800 1000 1200 t

Konvergenzverhalten für verschiedene r. Program population.c: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) int iter; /* iteration counter */ double x; /* population */ double r; /* growth factor */ for(r=0.01; r<=1; r+=0.002) x = 0.5; for(iter=0; iter<1100; iter++) x = 4*r*x*(1-x); if(iter>100) printf("%f %f\n", r, x); return(0); ergibt (gnuplot> plot "pop.out" pointsize 0.3) Wie können wir das Verhalten verstehen?