Einführung in Mathematica

Ähnliche Dokumente
Softwarepraktikum. zu Elemente der Mathematik. Carsten Rezny Institut für angewandte Mathematik Universität Bonn

Umformung und Vereinfachung mathematischer Ausdrücke

Eine Kurzanleitung zu Mathematica

Grundlagen der Arbeit mit Mathematica

3 Kurzeinführung in Matlab

Erwin Grüner

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung.

Matlab Übersicht. Matlab steht für MATrix LABoratory, die Fa. The Mathworks wurde 1984 gegründet

Mathematica. H. Todt, M. Wendt (UP) Computational Physics - Einführung WiSe 2014/15 1 / 32

Grundlagen der Arbeit mit Mathematica

Einführung in die Java- Programmierung

Informationen zum Gebrauch des Rechners TI 92

Vorkurs Mathematik 1

Übung 4: Einführung in die Programmierung mit MATLAB

3 Berechnungen und Variablen

Programmierung mit C Zeiger

2. Grundlagen der technischen Software - Beispiel: MathCAD 2.1 Einführung 2.2 Grundlagen an Beispielen

Deklarationen in C. Prof. Dr. Margarita Esponda

Einführung in MATLAB für Maschinenbauer im ersten Semester

Grundlagen der Informatik I (Studiengang Medieninformatik)

Vorlesung Inhaltsverzeichnis. Einfache Rechnungen

C.3 Funktionen und Prozeduren

Grundlagen, Vorgehensweisen, Aufgaben, Beispiele

Microsoft Excel 2007 Basis

Statistisches Programmieren

Grundlagen der Programmiersprache C++

1 Konsole öffnen. 2 matlab & und return eingeben. 3 Konsole dauerhaft geöffnet lassen. 1 Menüpunkt File - Exit MATLAB oder. 2 quit (und return) oder

Grundlagen der Programmierung

Michael Kojler, Hans-Gert Grabe. Mathematica. Einführung, Anwendung, Referenz. 4 V vollständig überarbeitete und erweiterte Auflage %ADDISON-WESLEY

2. Symbolisches Rechnen

Tutorial Excel Übung 8 Datenbanken II -1- Die Aufgabenstellung ist der folgenden URL zu entnehmen: Übung 8.

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Funktionen einer Tabellenkalkulation. Dateneingabe

Einführung in Mathcad / Zusatz zu Version 14 CAS

Vorkurs: Mathematik für Informatiker

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Eine Einführung in C-Funktionen

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Wenn Du Deinen Rechner zum ersten Mal einschaltest, verlangt er von Dir einige Angaben. Wähle als Sprache Deutsch.

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

1 Dein TI nspire CAS kann fast alles

Mögliche Prüfungsfragen zu VO Mathematische Software

4 Kontrollfluss-Diagramme

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Repetitorium Informatik (Java)

Übung KogInf Problemlösen, Suche, Lisp

Excel. Aufbau der Excel-Arbeitsoberfläche. Bezeichnung der Elemente. Arbeitsblatt mit Zeilen Spalten

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

- Vorschau Sokrates & Freunde GmbH Mathe mit dem TI-84Plus - Klasse 7/8 Reihe Mathematik

Faktorisierung bei Brüchen und Bruchtermen

Processing Info zu Variablen und Bedingungen

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

Unterprogramme, Pointer und die Übergabe von Arrays

JAVA - Methoden

Mathematik 1, Teil B. Inhalt:

5.4 Klassen und Objekte

10:Exkurs MATLAB / Octave

11. Folgen und Reihen.

Einführung in Maple. Version 0.2. Tobias Müller

Basistext Lineare Gleichungssysteme. Eine lineare Gleichung mit einer Unbekannten hat die allgemeine Form! #=%

Großübung zu Einführung in die Programmierung

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen

Formale Sprachen und Automaten

Mathematischen Grundlagen und Notationen

Programmieren mit Python

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

Einführung in die C-Programmierung

Primitive Datentypen und Felder (Arrays)

Handbuch für TI-nspire CX CAS

Das wichtigste zu logo (ucblogo)

Die Programmiersprache C

Bitte schreiben Sie sich in die Mailingliste der Vorlesung ein! Den Link finden Sie auf der Vorlesungshomepage.

Funktionale Programmierung mit Haskell

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Programmieren in C/C++ und MATLAB

Ergebnisse des Praktikums Dreiphasensystem (Ströme) 1) Berechnung aller Ströme eines Dreiphasensystems (Verbraucher-Dreieckschaltung)

Informatik I. 4. Funktionen: Aufrufe und Definitionen. 25. Oktober Albert-Ludwigs-Universität Freiburg. Informatik I.

Erwin Grüner

Objektorientierte Programmierung

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Objektorientierte Programmierung OOP Programmieren mit Java

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Partialbruchzerlegung für Biologen

Ziele beim Umformen von Gleichungen

Algorithmen und ihre Programmierung

9.1 Eine Gleichung mit einer Unbekannten exakt lösen x Beispiel 1: Die Gleichung x 2 = 4 lösen. solve( x / (x 2) = 4, x ); 8 3

Berufsmaturitätsprüfung 2013 Mathematik

Differenzengleichungen. und Polynome

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 6.Übung bis

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Lua Grundlagen Einführung in die Lua Programmiersprache

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

1 Karol stellt sich vor

Beschreibung Text - Display - Software

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Transkript:

Einführung in Mathematica Carsten Rezny Institut für Angewandte Mathematik, Universität Bonn Einstieg Mathematica ist eine mathematische Allzweck-Software, die vor allem für ihre Stärken im Umgang mit symbolischen Ausdrücken bekannt ist. Die Universität Bonn hat eine Campuslizenz, die allen Studierenden und Mitarbeitern der Fachbereiche Mathematik und Physik/Astronomie die kostenlose Nutzung von Mathematica ermöglicht. Näheres zur Lizenz und Installation findet sich unter http://mathematica.physik.uni-bonn.de/. Weitere Einführungen und Tutorien finden sich u.a. bei http://mint.sbg.ac.at/rudi/mathsoft2009/ http://physics.univie.ac.at/studium/mathematischemethoden/einstieg/mathematica.php Grundlagen Ein Mathematica-Notebook ist in Zellen gegliedert, Zellen können ihrerseits in Zellen unterteilt sein. Die Markierungen am rechten Rand machen dies deutlich. Jede Zelle hat eine Form, u.a. Input, Output oder Text. Ein neu erstelltes Notebook beginnt mit einer Zelle in InputForm: 11 7 Die Eingabe wird mit Shift- (oder im Ziffernblock) abgeschlossen; daraufhin liefert Mathematica (sofern sinnvoll) eine Output-Zelle mit dem Resultat. Grundsätzlich lässt sich Mathematica vollständig über die Tastatur bedienen. Für mathematische Symbole, griechische Buchstaben u.ä. gibt es Tastenkürzel, z.b. p für Π. Übersichtlicher ist es für den Anfang, mit sogenannten Assistenten zu arbeiten. Diese finden sich im Menüpunkt Palettes ; der Classroom Assistant bietet sich für den Einstieg an. Ein- und Ausgabezellen sind durchnumeriert. Mit %n erreicht man den Inhalt der n-ten Ausgabezelle, mit %% den der vorletzten und mit % den der letzten Ausgabezelle. 2^8 ^3 Es gibt eine Vervollständigung für Funktionsnamen über das Tastenkürzel -K. Mit - -K wird für die links vom Cursor stehende Funktion ein sogenanntes Template erzeugt, gemeint sind Platzhalter für die erwarteten Funktionsargumente. Mathematica bringt eine umfangreiche Online-Hilfe mit, die mit der Taste F1 oder auch kontextabhängig geöffnet werden kann (rechte Maustaste auf Funktionsname -> Get Help). Mit? erhält man eine Kurzhilfe:? Floor Die Syntax von Mathematica orientiert sich weitgehend an der in der Mathematik üblichen Notation sowie an verbreiteten Programmiersprachen wie C oder Java. Z.B.: 2^7 3 Ein Leerzeichen zwischen zwei Ausdrücken steht für Multiplikation. a^2 b c Funktionsaufrufe verwenden eckige Klammern für die Argumente:

2 vl1.nb Sin Π 2 Für Funktionen mit genau einem Argument ist alternativ auch Präfix- oder Postfix-Notation möglich: 2 Sqrt N Π 2 Die imaginäre Einheit wird mit I oder ( ii ) angegeben: I^2 Sqrt 9 Tastaturkürzel oder Paletten (wie der Classroom Assistant) ermöglichen druckreife Eingaben: 1 1 x 2 Bequemer ist oft die Input Form: InputForm Intern wird jeder Ausdruck mit Funktionsaufrufen dargestellt; das ist die Full Form. FullForm Die Default-Darstellung lässt sich als Standard Form explizit anfordern: StandardForm Schließlich kann man die Struktur eines Ausdrucks als Syntaxbaum darstellen: TreeForm Jeder Ausdruck besitzt einen sogenannten Head. Bei Funktionsaufrufen ist das der Name der äußersten Funktion. Beispiele: Head Head a Head 11 Head 3.9 Head 1 Head 2, 4, 6, 8 Ein Semikolon am Ende einer Eingabe unterdrückt die Ausgabe. Außerdem dient das Semikolon als Trennzeichen, um mehrere Anweisungen in einer Input-Zelle unterzubringen. p 0 p 1; p Exaktes und numerisches Rechnen Exakte Zahlen werden von numerisch genäherten Zahlen unterschieden. Mathematica rechnet grundsätzlich mit exakten Zahlen. Wenn möglich, wird dabei vereinfacht, Brüche werden gekürzt. 72 14 Sin Π 5 Was nicht vereinfacht werden kann, bleibt unverändert stehen:

vl1.nb 3 Log 2 Numerische Näherungen müssen explizit verlangt werden und können beliebig viele signifikante Stellen haben. 27.0 7 Π N N Π, 200 Es können nicht beliebig große Zahlen verarbeitet werden. 10^10^10 Die größte auf einem Rechner darstellbare Zahl ist $MaxNumber: $MaxNumber Variablen und Funktionen Variablen werden durch Zuweisung ins Leben gerufen, eine Deklaration entfällt. a 6 zahl 76 767 Variablennamen können beliebige Unicode-Zeichen enthalten, sofern sie keine Bedeutung als Operator haben: 321 großezahl 99 Auf diese Weise definierte Variablen sind global sichtbar. Man kann ein Symbol auch wieder in den undefinierten Zustand versetzen: oder kürzer Clear a a. Eigene Funktionen definiert man wie folgt: g x_ : 2 Sin x 2 g Π 3 Formale Parameter werden durch einen nachgestellten Unterstrich gekennzeichnet. Im Funktionskörper werden die Parameter dann ohne Unterstrich verwendet. Mehr dazu im Abschnitt Funktionale Programmierung. Es kann mehrere Definitionen für das gleiche Symbol geben. Das ist besonders für rekursive Funktionen nützlich, um die Abbruchbedingung zu formulieren. Z.B. Fakultät: f 0 1; f x_ : x f x 1? f f 5 Der Unterschied zwischen = und := besteht im Zeitpunkt der Auswertung: Bei Verwendung von = wird die rechte Seite der Zuweisung sofort ausgewertet. Variablen werden durch ihre aktuellen Werte ersetzt. Bei Zuweisung mit := wird der Ausdruck auf der rechten Seite wie er ist gespeichert. Erst bei Aufruf der Funktion wird der Ausdruck ausgewertet und Variablen durch Werte ersetzt. Daher ist es für die Definition von f[0] gleich, ob sie mit = oder := geschrieben wird. Eine Funktion kann auch mehrere formale Parameter haben:

4 vl1.nb r x_, y_ : Sqrt x^2 y^2 Symbolisches Rechnen Eine der Stärken von Mathematica liegt im symbolischen Rechnen. Wann immer ein Ausdruck undefinierte Bezeichner enthält, wird symbolisch gerechnet. Polynome a^2 2 a b b^2 Factor klammert Polynome aus (stellt den Ausdruck als Produkt dar): Factor Ausmultiplizieren mit Expand Expand Die Funktionen PolynomialQuotient, PolynomialRemainder und PolynomialQuotientRemainder liefern eine Polynomdivision: * ohne Rest * mit Rest * den Rest alleine PolynomialQuotient x^2 x 1, x 1, x PolynomialQuotientRemainder x^2 x 1, x 1, x PolynomialRemainder x^2 x 1, x 1, x Bruchrechnung Die Funktion Cancel kürzt Brüche: 6 3 x 2 y x y Cancel x 2 Apart führt eine Partialbruchzerlegung durch: 1 Apart x 1 x 2 Together bringt eine Summe von Brüchen auf einen gemeinsamen Nenner. Together Vereinfachung von Termen Simplify sucht die einfachste Darstellung eines Terms: a 5 5 a 4 b 10 a 3 b 2 10 a 2 b 3 5 a b 4 b 5 5 a 4 c 20 a 3 b c 30 a 2 b 2 c 20 a b 3 c 5 b 4 c 10 a 3 c 2 30 a 2 b c 2 30 a b 2 c 2 10 b 3 c 2 10 a 2 c 3 20 a b c 3 10 b 2 c 3 5 a c 4 5 b c 4 c 5 1 x2 1 x Manchmal genügt Simplify nicht: Log 8 Log 2 Full

vl1.nb 5 FullSimplify kennt mehr Umformungen, kann dafür aber deutlich mehr Zeit benötigen. Man kann Simplify mit Annahmen (assumptions) zusätzliche Informationen geben: x 2 x 2, x Reals x 2, x 0 Integration und Differentiation Die Funktion Integrate ( intt ) berechnet bestimmte und unbestimmte Integrale. 2 Π x 2 Sin x x 0 x 2 Sin x x Und wieder differenzeiren: D, x Statt D geht auch einfach Sin' x Listen, Vektoren, Matrizen Listen werden mit geschweiften Klammern notiert, die Elemente können beliebige Ausdrücke sein. 7, 42, "abcdef", x 2 1 Listen können generiert werden: Range 20 liste Table n^3, n, 20 Außer dem Endwert können auch Startwert und Schrittweite angegeben werden: Table n^2, n, 10, 20, 2 Auch Zuweisung an Listen ist möglich: x, y, z 3, 6, 9 Die Anzahl der Elemente einer Liste gibt Length: Length liste