22
Einführung in Mathematica Einführung in Mathematica www.imms.de 21.04.2008 Einführung in Mathematica 1 Inhalt Inhalt 1G dl 1. Grundlagen 2. Syntax 3Rf Ei b /A b 3. Referenzen zur Eingabe/Ausgabe 4. Laden und Speichern 5. Zahlen 6. Listen 7. Listenmanipulationen 8. Elementextraktion 9. Vektoren und Matrizen 10. Regel Anwendung 11. Funktionsaufrufe 12. Optionswerte setzen und auslesen www.imms.de 21.04.2008 Einführung in Mathematica 2

Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Embed Size (px)

Citation preview

Page 1: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Einführung in MathematicaEinführung in Mathematica

www.imms.de 21.04.2008

Einführung in Mathematica 1

InhaltInhalt

1 G dl1. Grundlagen2. Syntax3 R f Ei b /A b3. Referenzen zur Eingabe/Ausgabe4. Laden und Speichern5. Zahlen6. Listen7. Listenmanipulationen8. Elementextraktion9. Vektoren und Matrizen10. Regel Anwendung11. Funktionsaufrufe12. Optionswerte setzen und auslesen

www.imms.de 21.04.2008

Einführung in Mathematica 2

Page 2: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Inhalt (Fortsetzung)Inhalt (Fortsetzung)

13 O t f t13. Operatorformate14. Funktionaloperatoren15. Definitionen16. Entfernen von Definitionen17. Ausdrucksmanipulation18. Grafiken18. Grafiken19. Differentiation20 Integration20. Integration21. Gleichungen22. Differentialgleichungen23. On-Line Hilfe

www.imms.de 21.04.2008

Einführung in Mathematica 3

1. Grundlagen1. Grundlagen

M th ti k l l T h h b t t dMathematica kann als normaler Taschenrechner benutzt werden:Man gibt die Frage ein und Mathematica gibt die Antwort zurück.

Mathematica fügt das In und OutLabel hinzu.

+=In[1] : 2 3Ausführen der Eingabe mit SHIFT-RETURN oder ENTER.

+ −==

Out[1]

In

5

(143 1)/1[ ] : 22 10;( )[ ]

Das Semikolon teilt Mathematica mit, dass keine Ausgabe erfolgen soll.

www.imms.de 21.04.2008

Einführung in Mathematica 4

Page 3: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

2. Syntax2. Syntax

K d d F kti b i it G ßb h t bKommandos und Funktionen beginnen mit Großbuchstaben. Argumente werden durch Kommas getrennt und in rechteckige Klammern eingeschlossen.Klammern eingeschlossen.

In[1] := yPlus[Power[a, b], m^n, x ] Mathematica enthält eine große Anzahl von Kurznotationen für

Mathematica erlaubt Freizeichen zwischen Symbolen aber nicht

Out[1] = b n ya +m +xAnzahl von Kurznotationen für Funktionen.

Mathematica erlaubt Freizeichen zwischen Symbolen aber nicht innerhalb eines Symbols.

In[2] : x y+x*y Bedeutet x mal y,wobei

xy ein Symbol ist.

==2xy

In[2] :

Out[2]

In[3] :

x y+x*y

xy+x*y== xy+xy

In[3] :

Out[3]

xy+x*y

www.imms.de 21.04.2008

Einführung in Mathematica 5

3. Referenzen zu Eingabe/Ausgabe3. Referenzen zu Eingabe/Ausgabe

=In[1] : 2a+ b^2=

= 22a+b

In[1] :

Out[1]

In[2] :

2a+ b 2

Si [%]% nimmt die Ausgabe davor.

=

= 2Sin[2a+b ]

In[2] :

Out[2]

I [3]

Sin[%]

Out[n] oder %n nimmt die n-teAusgabe=

= 2 22a+b +Cos[2a+b ]

In[3] :

Out[3]

y = Cos[Out[1]]+%1 Ausgabe.

=

= 2 22a+b +Cos[2a+b ]

In[4] :

Out[4]

y Alternativ kann man auch Variablen benutzen.

www.imms.de 21.04.2008

Einführung in Mathematica 6

Page 4: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

4. Laden und Speichern4. Laden und Speichern

In[1] := SaveMe = Sin[x]+ Cos[x] Save[•] hängt Definitionen In[1] :

In[2] :

In[3] :

===

SaveMe = Sin[x]+ Cos[x]

Save["File1", SaveMe]

Put[a^2+ b^2 "File2"]

[ ] gan eine Datei an.

Put[expr, “name“] oder expr>>name schreibt einenIn[3] :

In[4] :

In[5] :

===

Put[a 2+ b 2, File2 ]

Clear[SaveMe]

Get["File1"]

expr>>name schreibt einen Ausdruck in eine Datei.

Clear[•] löscht Werte oder Definitionen für SymboleIn[5] :

Out[5]

In[6] :

==

=Cos[x]+Sin[x]

Get[ File1 ]

<< File2

Definitionen für Symbole.

Get[“name”] or <<nameliest eine Datei ein, führt jeden Ausdruck in der Datei aus undIn[6] :

Out[6]

=

= 2 2a +b

<< File2 Ausdruck in der Datei aus und gibt den Letzten aus.

www.imms.de 21.04.2008

Einführung in Mathematica 7

5. Zahlen5. Zahlen

Z hl kö iZahlen können sein

beliebig präzise Integer: 3, 2^3, 4/2, ...

beliebig präzise rationale Zahlen: ,10!/11!, ...344

In[1] :

O t[1]

=5

Numerator[5/7] Der Zähler und der Nenner eines Bruches kann durch Numerator[•] und

Out[1]

In[2] :

O t[2]

==

5

Denominator[5/7]

kann durch Numerator[ ] und Denominator[•] Funktionen extrahiert werden .

Fl ti P i t ( ll ) Z hl 3 /4 0 0 75

Out[2] = 7

Floating-Point (reelle) Zahlen: 3./4.0, 0.75, ...

Der Punkt zeigt eine Zahl mit endlicher Präzision.

www.imms.de 21.04.2008

Einführung in Mathematica 8

Der Punkt zeigt eine Zahl mit endlicher Präzision.

Page 5: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Zahlen (Fortsetzung)Zahlen (Fortsetzung)

Komplexe Zahlen: 3 + j2 (imaginäre Einheit j I)3Komplexe Zahlen: 3.+ j2, , ... (imaginäre Einheit j I)3−

In[3] := Re[3+ -2]In[3] :

Out[3]

In[4] :

=

=

3

Re[3+ 2]

Im[3+ -2]

Der Real- und Imaginärteil einer Zahl kann durch die Re[•] und Im[•] Funktionen extrahiert werden.

In[4] :

Out[4]

=

= 2

Im[3+ -2]

Vordefinierte Konstanten: E, Pi, I, Infinity, ...

N[expr, n] gibt den numerische Wert von expr mit n stelliger Präzision aus

In[5] :

Out[5]

== -1

PiIE

expr mit n-stelliger Präzision aus.In[6] :

Out[6]

== 2.7182818N[E, 8]

www.imms.de 21.04.2008

Einführung in Mathematica 9

6. Listen6. Listen

Ei Li t i t i S l El t di iEine Liste ist eine Sammlung von Elementen die in geschweiften Klammern eingeschlossen sind:

In[1] :

Out[1]

=={2, 3, 5, 7, 11, 13}primes={2, 3, 5, 7, 11, 13}

Listenelemente können beliebigen Typs sein (numerische Größen, symbolische Ausdrücke, ...) und können geschachtelt werden:

In[2] : ⎧ ⎫⎨ ⎬⎩ ⎭

= 21mixed = , y , "name", {a, b, {c}}

7

Out[2] ⎧ ⎫⎨⎩ ⎭

= ⎬21

, y , name, {a, b, {c}}7

www.imms.de 21.04.2008

Einführung in Mathematica 10

Page 6: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

7. Listenmanipulation7. Listenmanipulation

In[1] :

In[2] :

==list ={a, b, c};

Append[list, d]Append[list, element] gibt listaus, wobei element angehangen [ ]

Out[2]

In[3] :

==

{a, b, c, d}

pp [ , ]

Prepend[list, x]

wurde.

Prepend[list, element] gibt list aus, wobei element davor [ ]

Out[3]

In[4] :

==

{x, a, b, c}

p [ , ]

Insert[list, y, 2]

gesetzt wurde.

Insert[list, element, n] fügt element an die Position n in list [ ]

Out[4]

In[5] :

==

{a, y, b, c}

[ , y, ]

Delete[list, 2]

ein.

Delete[list, n] löscht das Element an Position n in list[ ]

Out[5]

In[6] :

==

{a, c}

[ , ]

Join[list, {g, h}]

Element an Position n in list.

Join[list1, list2, ...]verkettet Listen miteinander

[ ] [

Out[6] ={a, b, c, g, h}, {g, }]

verkettet Listen miteinander.

www.imms.de 21.04.2008

Einführung in Mathematica 11

8. Elementextraktion8. Elementextraktion

==

In[1] :

In[2] :

list ={a, b, c, d};

Part[list, 2] Part[list, i] oder list[[i]] gibt das i-te Element der Liste

==

b

[ ]

Out[2]

In[3] :

[ , ]

First[list]

te Element der Liste.

First[list] gibt das erste Element von list aus. Bemerkung:

==

a

[ ]

Out[3]

In[4] :

[ ]

Last[list]

First[list]==Part[list, 1].

Last[list] gibt das letzte Element von list aus

==

d

[ ]

Out[4]

In[5] :

[ ]

Take[list, 2]

list aus.

Take[list, n] gibt die ersten n Elemente von list aus

==

{a, b}

[ ]

Out[5]

In[6] :

[ , ]

Drop[list, 2]

von list aus.

Drop[list, n]gibt list aus, wobei die ersten n Elemente gestrichen wurden

={c, d}[ ]

Out[6]

p[ , ] ersten n Elemente gestrichen wurden.

www.imms.de 21.04.2008

Einführung in Mathematica 12

Page 7: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

9. Vektoren und Matrizen9. Vektoren und Matrizen

V kt d l i di i l Li t ä ti tVektoren werden als eindimensionale Liste repräsentiert:

In[1] := v ={1, 0, 0};

⎛ ⎞⎜ ⎟1

MatrixForm[v]

Out[2] //MatrixForm ⎜ ⎟⎜ ⎟⎜⎝ ⎠

=⎟0

0

MatrixForm[list] gibt die Elemente von list in Standard-Matrix-Form aus.

Matrizen werden als Liste von Listen repräsentiert:

{ }=In[3] : mat1= {a, b}, {c, d} ;

MatrixForm[mat1]dies ist eine zweidimensional Liste

⎛ ⎞⎜ ⎟⎝

=⎠

Out[4]//MatrixForma bc d

dies ist eine zweidimensional Liste.Die inneren Listen repräsentieren die Zeilen der Matrix.

www.imms.de 21.04.2008

Einführung in Mathematica 13

Vektoren und Matrizen (Fortsetzung)Vektoren und Matrizen (Fortsetzung)

El t M t i tiElementare Matrixoperationen:

In[5] := mat2 = Inverse[mat1]; Inverse[•]berechnet die Inverse

⎛ ⎞−⎜ ⎟d d

MatrixForm[mat2]berechnet die Inverse einer quadratischen Matrix.

Out[6] //MatrixForm⎜ ⎟⎜ ⎟⎜ ⎟−⎜ ⎟

=-b c+a d -b c+a d

c ab oder D t[

In[7] :

⎜ ⎟⎝ ⎠

=

-b c+a d -b c+a d

MatrixForm[mat1.mat2]

a . b oder Dot[a, b] berechnet das Produkt von Vektoren und Matrizen.

Out[7]⎛ ⎞⎜ ⎟⎝

=⎠

1 0

0 1 Det[•] berechnet die Determinante einer

In[8] :

Out[8]

== -b c+a dDet[mat1]

Determinante einer quadratischen Matrix.

www.imms.de 21.04.2008

Einführung in Mathematica 14

Page 8: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Warnung: Verwirrung mit MatrixFormWarnung: Verwirrung mit MatrixForm

M t i F i t i Obj kt i h ft d ä d t d Obj ktMatrixForm ist eine Objekteigenschaft und verändert das Objekt

In[9]:= mat1= 88a, b<, 8c,d<< êê MatrixForm

Out[9]//MatrixForm=

Kommandos wie Inverse[] verursachen dann Fehler

Ja bc d

NKommandos wie Inverse[] verursachen dann Fehler

In[10]:= mat2= Inverse@mat1DIn[10]:= mat2= Inverse@mat1DOut[10]= InverseBJa b

dNF[ ] BJ

c dNF

www.imms.de 21.04.2008

Einführung in Mathematica 15

10. Regel Anwendung10. Regel Anwendung

Das Zeichen -> ist Mathematica’s Regel-Symbol:Das Zeichen > ist Mathematica s Regel Symbol:

x->3: x nimmt den Wert 3 nur in der Zeile des Kommandos oder der Funktion an, in welcher die Regel benutzt wird.Funktion an, in welcher die Regel benutzt wird.

x=3: legt x auf den Wert 3 fest.ReplaceAll[expr, rules] oder expr /. rules wendet eine rule

d i Li t d ht j d T il d A d k

2 2In[1] : (1 x x ) {x x x a}= ⎡ ⎤+ + → →⎣ ⎦2ReplaceAll 3x

oder eine Liste rules an und versucht jeden Teil des Ausdruckes expr zu transformieren.

2 2

In[1] :

Out[1]

(1 x x ),{x x,x a}=

=

⎡ ⎤+ + → →⎣ ⎦

⎡ ⎤

3x(1+a+x)

ReplaceAll 3x

2 2In[2] : (1 x x ),{x x,

Out[

x a}

2]

= ⎡ ⎤+ + → →

=⎣ ⎦

3a(1+2a)

2ReplaceRepeated 3x

ReplaceRepeated[expr, rules] oder expr //. rules wiederholt die Ersetzung solange, bis keine Änderungen in expr mehr auftreten.

www.imms.de 21.04.2008

Einführung in Mathematica 16

Page 9: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

www.imms.de 21.04.2008

Einführung in Mathematica 17

11. Funktionsaufrufe11. Funktionsaufrufe

{ }=In[1] : 1 2 1 2 1 2 1 2list = {a , a }, {b , b }, {c , c }, {d , d }lä t di t b id

{ }=

= 1 2 1 2{c , c }, {d , d }

In[2] :

Out[2]

Drop[list, 2]

lässt das zweite Element

lässt die ersten beiden Elemente weg

{ }=

= 1 2 1 2 1 2{a , a }, {c , c }, {d , d }

In[3] :

Out[3]

Drop[list, {2}]lässt das zweite bis dritte Element weg

weg

=

= 1 2 1{a , a }, {d , d

In[4] :

Out[4]

Drop[list, {2, 3}]

{ }2}lässt das erste Element im Top-Level weg und das zweite Element im Second

g

1 2 1[ ] { }

{ }=

=

2

1 1 1{b }, {c }, {d }

In[5] :

Out[5]

Drop[list, {1}, {2}]zweite Element im Second-Level

{ }1 1 1{ },{ },{ }[ ]

www.imms.de 21.04.2008

Einführung in Mathematica 18

Page 10: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Funktionsaufrufe (Fortsetzung)Funktionsaufrufe (Fortsetzung)

Ei i F kti l b ät li h di A b O ti diEinige Funktionen erlauben zusätzlich die Angabe von Optionen, die durch eine Sequenz von Regeln gegeben ist.

Bei Optionen die nicht e pli it angegeben sind erden Defa lt WerteBei Optionen, die nicht explizit angegeben sind, werden Default Werte verwendet. Default

Optionswerte

{ }In[6] :

Out[6]

=

= {1, 4}, {4, 7}

StringPosition["abbabba ABBA", "abba"]werden verwendet

{ }In[7] :=

→ →StringPosition["abbabba ABBA", "abba",

IgnoreCase True, Overlaps False]

{ }Out[7] = {1, 4}, {9, 12}

g p

Sequenz von Regeln setzt neue Werte für die OptionenIgnoreCase und Overlaps

www.imms.de 21.04.2008

Einführung in Mathematica 19

12. Default Optionswerte setzen und auslesen12. Default Optionswerte setzen und auslesen

Options[fct] gibt die Default Optionswerte von fct aus:Options[fct] gibt die Default Optionswerte von fct aus:

In[8] := Options[StringPosition]Out[8] →

→ →={IgnoreCase False,

MetaCharacters None, Overlaps True}

SetOptions[fct, opt -> val] setzt einen neuen Default Wert val für die Option opt, die zur Funktion fct gehört:

I [9]

neues Verhalten:Groß-Kleinschreibung i iIn[9] :

I [10]

→= SetOptions[StringPosition,

IgnoreCase True];

ignorieren

{ }In[10] :

Out[10]

=

= {1, 4}, {4, 7}, {9, 12}

StringPosition["abbabba ABBA", "abba"]

www.imms.de 21.04.2008

Einführung in Mathematica 20

Page 11: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

13. Operatorformate13. Operatorformate

Als eine Alternative zum Standardformat für Operatoren undAls eine Alternative zum Standardformat für Operatoren und Argumente können prefix-, infix- und postfix-Formen verwendet werden:

=

= 2(x+y)

In[1] :

Out[1]

Simplify[x^2+2x y + y^2]

S f=(x+y)Out[1] Standard form:operator[arg1, arg2, ...]

=

= 2

In[1] :

Out[1]

Im@(2+I 2)

fi FOut[ ]

prefix-Form:operator @ arg

www.imms.de 21.04.2008

Einführung in Mathematica 21

Operatorformate (Fortsetzung)Operatorformate (Fortsetzung)

In[3] :

Out[3]

=={a, b, c, d}{a, b}~ Join ~{c, d}

infix-Form:infix Form:arg1~operator~arg2

{ }In[4] := {a, b}, {c, d} //MatrixForm

Out[4] //MatrixForm⎛ ⎞

⎟⎝⎜

⎠=

a b

c dpostfix-Form:arg // operator

Anzahl von Argumenten: Standard beliebigprefix/postfix 1 Argumentinfix 2 Argumente

www.imms.de 21.04.2008

Einführung in Mathematica 22

Page 12: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

14. Funktionaloperatoren14. Funktionaloperatoren

[ ]{ }

In[1] :

Out[1]

=

= f[a], f[b], f[c]

Map f, {a, b, c}Map[f, expr] oder f /@ expr wendet f auf die First-Level Teile in expr an.{ }

[ ][ ]

In[2] :

Out[2]

=

=

[ ], [ ], [ ]

f[a b c]

Apply f, {a, b, c}Apply[f, expr] oder f@@ expr wendet f auf das Top--Level vom Ausdruck

[ ]{ }

Out[2]

In[3] :

Out[3] ⎡ ⎤⎣ ⎦

=

=

f[a, b, c]

f f[ ] f[b] f[ ]

MapAll f, {a, b, c}expr an.

MapAll[f, expr] oder f//@ expr wendet f auf alle Teile im dem Ausdrucke{ }

[ ]Out[3]

In[4] :

⎡ ⎤⎣ ⎦=

=

f f[a], f[b], f[c]

Nest f, {a, b, c}, 3

Teile im dem Ausdrucke expr an.

Nest[f, expr, n] wendet

[ ]Out[4]

In[5] :

⎡ ⎤⎡ ⎤⎣ ⎦⎣ ⎦=

=

f f f {a, b, c}

M { }⎡ ⎤⎣ ⎦apThread f, {a, b}, {c, d}

f auf den Ausdruck expr n mal an.

MapThread[f, {expr1, [ ] { }{ }Out[5]

⎣=

⎦f[a, c], f[b, d]

p ap ead[ , {e p ,expr2, …}] wendet f auf den Ausdruck expri auf Level 1 Ebene an.

www.imms.de 21.04.2008

Einführung in Mathematica 23

15. Definitionen15. Definitionen

E i t ö li h V i bl it W t b l J d l diEs ist möglich Variable mit Werten zu belegen. Jedesmal wenn diese Variable benutzt wird, wird ihr Wert an ihrer Stelle eingesetzt.

In[1] :

Out[1]

=

= 2 2a +2ab+b

2(a + b) //Expand

In[2] :

Out[2]

== 7b = 7var=value

belegt die Variable mit einem permanenten Wert

setzt den Wert 7 für b

In[3] :

Out[3]

=

= 249+14a+a

2(a + b) //Expand

var=. oder Unset[var]der Wert von b wird eingesetztOut[3]

In[4] :

In[5] :

=

=

49+14a+a

2

b =.

(a+ b) //Expand

var . oder Unset[var]löscht den für die Variable zugewiesenen Wert

eingesetzt

löschen des Wertes von b

In[5] :

Out[5]

=

= 2 2a +2ab+b

(a+ b) //Expand

www.imms.de 21.04.2008

Einführung in Mathematica 24

Page 13: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Definitionen (Fortsetzung)Definitionen (Fortsetzung)

Mit M t i t ö li h F kti d fi iMit Mustern ist es möglich Funktionen zu definieren:

In[6] :

In[7] :

= 2 2f[x_]= x +a ;

f[3]

Hier wird die Funktionf(x) =(x2+a2) d fi i tIn[7] :

Out[7]

I [8]

=

= 29+a

f[3]

f[ ]

Nun kann jeder Ausdruck auf fangewendet werden.

definiert.Der Ausdruck x_ ist ein Muster mit dem Namen x welches mit jeden

In[8] :

Out[8]

=

= 2 2a +(v +w)

f[v + w]

f[x_]=rhsgilt für jeden Ausdruck

g jAusdruck ersetzt werden kann. Auf der rechten Seite verweist x auf dieses MusterIn[9] :=

Global`f

?fgilt für jeden Ausdruck f[expr]

f[x]=rhs

dieses Muster.

Die rechte Seite einer Definition kann ein

2 2 f[x_]= a +xgilt nur für den Ausdruck f[x]

beliebiger Ausdruck sein.

www.imms.de 21.04.2008

Einführung in Mathematica 25

Definitionen (Fortsetzung)Definitionen (Fortsetzung)

lhs=rhs Die rechte Seite wird ausgeführt, bevor es der linken lhs rhs Die rechte Seite wird ausgeführt, bevor es der linken Seite zugewiesen wird (unmittelbare Definition)

lhs:=rhs Die rechte Seite wird jedes mal ausgeführt, wenn die j g ,linke Seite aufgerufen wird (verzögerte Definition)

=In[10] : f[x ]= Sin[x] unmittelbar

[ ][ ]

=

[ ]

In[11] :

[ _] [ ]

g1[x_]= D f[x], x ;

g2[x ]:= D f[x] x ;

var:=valueweist einen Wert zu, welcher jedes mal berechnet wird wenn [ ]

{ }{ }

=

Cos[a] Cos[a]

In[13] :

Out[13]

g2[x_]:= D f[x], x ;

g1[a], g2[a] verzögert

berechnet wird, wenn var gebraucht wird.

{ }

{ }

=

=

Cos[a], Cos[a]Out[13]

In[14] : ;2f[x_]= xNur g2 beachtet die D fi iti f { }

{ }=

= Cos[a], 2a

In[15] :

Out[15]

g1[a], g2[a]neue Definition von f.

www.imms.de 21.04.2008

Einführung in Mathematica 26

Page 14: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Definitionen (Fortsetzung)Definitionen (Fortsetzung)

Ei i d fi i t F ktiEinige vordefinierte Funktionen:

Exp[•], Log[•], Sqrt[•]

Si [ ] C [ ] T [ ]

Log[x] zur Basis eLog[b, x] zur Basis b

Sin[•], Cos[•], Tan[•]Csc[•], Sec[•], Cot[•]ArcSin[•], ArcCos[•], ArcTan[•]

trigonometrische Funktionen

Sinh[•], Cosh[•], Tanh[•]

Gamma[•]1 for x 0− <⎧⎪

die Gamma Funktion

Sign[•]

UnitStep[•], DiracDelta[•]

Sign[x] 0 for x 0

1 for x 0

= =

>

⎪⎨⎪⎩

beide sind definiert im add-on Package Calculus

www.imms.de 21.04.2008

Einführung in Mathematica 27

16. Löschen von Definitionen16. Löschen von Definitionen

weist eine Definition und=In[1] : 2 2f[x_, y_]:= x + y ;

f = 7;

weist eine Definition und einen Wert dem Symbol f zu.

ibt ll f i=

Global`f

In[3] : ?fgibt alle f zugewiesenen Werte und Definitionen aus

2 2

f =7

f[x , y ]= x +y f[x_, y_] x +y

Unset[symbol] (oder symbol=.)In[4] :

In[5] :

==Unset[f]

?f

Unset[symbol] (oder symbol .)löscht dem Symbol symbol zugewiesenen Wert.

2 2

Global`f

f[x_, y_]:= x +y

www.imms.de 21.04.2008

Einführung in Mathematica 28

Page 15: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Löschen von Definitionen (Fortsetzung)Löschen von Definitionen (Fortsetzung)

In[6] : Clear[f]In[6] :

In[7] :

==Global`f

Clear[f]

?fClear[symbol]löscht alle Werte und Definitionen, die symbol zugewiesen wurden.

Global f

I [8] R [f] R [ b l]In[8] :

In[9] :

==I f ti t f d

Remove[f]

?f

Remove[symbol]löscht alle Werte und Definitionen die symbol zugewiesen wurden, danach wird das Symbol selbst

Information::not found:

symbol f not found.

ygelöscht

In[10] := Names["Z*"]Names[pattern]listet alle Symbole auf, die mit dem pattern übereinstimmen

Out[10] ={ZeroTest, ZeroWidthTimes, Zeta, ZTransform}

pattern übereinstimmen.

www.imms.de 21.04.2008

Einführung in Mathematica 29

17. Ausdrucksmanipulation17. Ausdrucksmanipulation

Oft kann man die Funktion Simplify[expr] finden, welche p y pschwierige Ausdrücke vereinfacht:

[ ]In[1] : ⎡ ⎤⎣ ⎦= Simplify Exp Log[x]+Log[y][ ]In[1] :

Out[1]

⎡ ⎤⎣ ⎦= xy

Simplify Exp Log[x]+Log[y]

Andere nützliche Mathematica Kommandos, die die algebraische Form des Ausdruckes verändern sind:

I [2]FactorTerms[poly]

In[2] :

Out[2]

=

= 44(1+4x )

FactorTerms[16x^4+4]FactorTerms[poly]klammert gleiche numerische Faktoren aus poly aus.

In[3] :

Out[3]

=

= 4(1+x)(1+4x )

5 4Factor[x + x + x +1] Factor[poly]faktorisiert ein Polynom

[ ]

In[4] :

Out[5]

=

= 4 51+x+x +x

Expand[%] Expand[expr]ausmultiplizieren des Ausdruckes expr.

www.imms.de 21.04.2008

Einführung in Mathematica 30

Out[5] 1+x+x +x p

Page 16: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Ausdrucksmanipulation (Fortsetzung)Ausdrucksmanipulation (Fortsetzung)

Collect[expr, x]

[ ]

==4y+x(1+5y)

In[5] :

Out[5]

Collect[x +4y +5x y, x] sammelt gleiche Terme mit der gleichen Potenz, die mit dem Objekt x übereinstimmen[ ]=

=2a -a+b

+

In[6] :

Out[6]

Apart (x-a)/(x- b)/(x +a), xübereinstimmen.

Apart[expr, var] schreibt einen rationalen Ausdruck als

=

+(a+b)(a+x) (a+b)(-b+x)

Out[6]

In[7] : Together[%]

Summe von Termen mit minimalen Nenner, bei dem alle Variablen außer var als Konstanten behandelt werden

⎡ ⎤

=a-x

(b-x)(a+x)Out[7]

2 2

Together[expr] stellt Terme über einen gemeinsamen Nenner dar und

Konstanten behandelt werden

⎡ ⎤⎢ ⎥⎣ ⎦

=In[8] :2 2

2 2

x -4x x +3x-4Cancel +

x -x x -1l[ ] lö ht

gemeinsamen Nenner dar und entfernt die Faktoren im Ergebnis.

=-4+

Out[8]x 4+x+

-1+x 1+x

Cancel[expr] löscht gemeinsame Faktoren im Zähler und Nenner des Ausdruckes expr.

www.imms.de 21.04.2008

Einführung in Mathematica 31

p

18. Grafiken18. Grafiken

In[1]:= [email protected]∗10^−15∗HExp@VDê0.026D− 1L, 8VD, 0, 1<,@ H p@ D L 8 <Axes → True, AxesLabel → 8"VD", "IS@VDD"<D;

IS@VDDPlot[f {x xmin xmax}]

0.150.2

0.250.3 Plot[f, {x, xmin, xmax}]

erzeugt eine zweidimensionale Grafik f als Funktion von x von xmin bis xmax.

0.2 0.4 0.6 0.8 1VD

0.050.1

Für alle Grafikfunktionen können verschieden Optionen gesetzt

In[2]:= ParametricPlot@8Cos@tD, Sin@3 tD<, 8t, −Pi, Pi<,Frame → TrueD;

werden.

0

0.5

1ParametricPlot[{fx, fy}, {t, tmin, tmax}] erzeugt eine zweidimensionale

-1 -0 5 0 0 5 1-1

-0.5

0t a }] e eug e e e d e s o a eparametrische Grafik mit x und y Koordinaten. fx und fy werden als Funktion von t erzeugt von tmin bis tmax.

www.imms.de 21.04.2008

Einführung in Mathematica 32

1 0.5 0 0.5 1

Page 17: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Grafiken (Fortsetzung)Grafiken (Fortsetzung)

In[3]:= Plot3D@Sin@xD∗Sin@yD, 8x, −2, 2<, 8y, −2, 2<,In[3]: Plot3D@Sin@xD∗Sin@yD, 8x, 2, 2<, 8y, 2, 2<,PlotPoints → 15D;

12

-0 500.51 Plot3D[f, {x, xmin, xmax}, {y, ymin, ymax}]

erzeugt eine dreidimensionale Grafik der Funktion f als

-2-1

01

2-2-101-1

0.5

-2-1

01

2

erzeugt eine dreidimensionale Grafik der Funktion f als eine Funktion von x und y.

In[4]:= ContourPlot@Sin@x yD, 8x, −5, 5<, 8y, −5, 5<,ContourLines → FalseD;

2

4

-4

-2

0ContourPlot[f, {x, xmin, xmax}, {y, ymin, ymax}] generiert eine Konturgrafik von f als eine Funktion von x und y.

www.imms.de 21.04.2008

Einführung in Mathematica 33-4 -2 0 2 4

4

19. Differentiation19. Differentiation

Der D[fct, var]-Operator berechnet die partielle Ableitung derDer D[fct, var] Operator berechnet die partielle Ableitung der Funktion fct in Bezug auf die Variable var:

I [1] [ ^ ]In[1] :

Out[1]

=

= -1+nn x

D[x^n, x]die partielle Ableitung von xn nach x

[ ]In[2] :

Out[2]

=

= -2+n(-1+n)n x

D x^n, {x, 2} die zweite partielle Ableitung von xn nach x

Mehrere Ableitungen werden berechnet durch die Angabe mehrerer V i bl d Li t V i bl d di R ih f l d A tVariablen und Listen von Variablen und die Reihenfolge der Argumente in D[•] :

In[3] : ⎡ ⎤3 2D f[ ]+ * * { 2}In[3] :

Out[3]

⎡= ⎤⎣ ⎦

= 2 (0, 1, 2)6xy +f [x, y, z]

3 2D f[x, y, z]+ x*y *z , y, {z, 2} differenziert einmal nach y und zweimal nach z

www.imms.de 21.04.2008

Einführung in Mathematica 34

Page 18: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Differentiation (Fortsetzung)Differentiation (Fortsetzung)

S b li h Diff ti ti k f i i f h A t d W iSymbolische Differentiation kann auf eine einfache Art und Weise erfolgen:

[ ][ ]

In[4] :

Out[4]

⎡ ⎤⎣ ⎦′

=

= ′f g[y]g [y]

D f g[y], y

Symbolische Ableitungen werden in Termen von Derivative Objekten ausgedrückt:

[ ]In[5] := D f[x], x //InputForm

Out[5] // InputForm = Derivative[1][f][x]

Ableitungsordung unabhängige Variable

Funktionsname

www.imms.de 21.04.2008

Einführung in Mathematica 35

Differentiation (Fortsetzung)Differentiation (Fortsetzung)

Ei b S b l l h i ht li it iEin gegebenes Symbol, welches nicht explizit von einer gegebenen Variablen abhängt, wird als Konstante behandelt.

=In[4] : 2g[x_]:= x Nur f hängt explizit von x ab, deshalb wird wie eine Konstante[ ]=

= ′gf [x]

In[5] :

Out[5]

D g*f[x], xdeshalb wird g wie eine Konstante behandelt, obwohl es in Termen von x definiert ist.

[ ]=

= ′22xf[x]+x f [x]

In[6] :

Out[6]

D g[x]*f[x], x Jetzt ist g in Abhängigkeit von xdeklariert, deshalb wird es jetzt differenziert.

Die gegebene Variable ist nur ein Platzhalter welche ein

[ ] [ ][ ]

Die gegebene Variable ist nur ein Platzhalter, welche ein Symbol definiert, das im Ergebnis benutzt wird.

www.imms.de 21.04.2008

Einführung in Mathematica 36

Page 19: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

20. Integration20. Integration

Mathematica kann bestimmte und unbestimmte Integrale berechnen:g

In[1] := Integrate[y^x, x]zeigt an ,dass x die Integrations ariable istIn[1] :

Out[1] =xy

Log[y]

Integrate[y x, x] Integrationsvariable ist

Log[y]

grundsätzliche Form für ein unbestimmtes Integral: Integrate[fct, var]

∫2 Pi 1

grundsätzliche Form für ein bestimmtes Integral: Integrate[fct, {var, xmin, xmax}]

In[2] :

π

= ∫4

2 Pi

0

1 dx

1+a Sin[x]

x ist dieOut[2]

π=

2

4

4-4a

x ist die Integrationsvariable, a ist ein Parameter

www.imms.de 21.04.2008

Einführung in Mathematica 37

21. Gleichungen21. Gleichungen

Gleichungen werden definiert mit == oder dem Equal[•] Operator:g q p

In[1] :

Out[1]

=21+ +2

Equal[y, 2x^2+ x +1]

Gleichungsvereinfachungen:

Out[1] = 2y ==1+x+2x

[ ]=

2+

In[2] :

Out[2]

Eliminate {x == 2+ y, y == z}, yEliminate[eqns, vars]

==

x == 2+z

b

Out[2]

In[3] : Reduce[ax + b == 0, x]eliminiert Variablen in einem Satz von simultanen Gleichungen.

= ≠b

b ==0&&a ==0 || a 0&&x == -a

Out[3]

Reduce[eqns, vars] vereinfacht die Gleichung eqns und versucht nach der Variablen vars aufzulösen. Die Gleichungen, die durch Reduce erzeugt wurden sind äquivalent zu eqns und enthalten alle möglichen Lösungen

www.imms.de 21.04.2008

Einführung in Mathematica 38

enthalten alle möglichen Lösungen.

Page 20: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Gleichungen (Fortsetzung)Gleichungen (Fortsetzung)

Symbolisches Gleichungslösen: Solve[eqns vars]Symbolisches Gleichungslösen:

In[1] := 2Solve[x +2bx +c == 0, x]

Solve[eqns, vars]versucht eine Gleichung oder ein Satz von Gleichungen

{ }Out[1] = → →2 2{x -b- b -c}, {x -b+ b -c}nach der Variablen vars zu lösen. Solvegibt die Lösung durch Verwendung von

Numerische Gleichungslösen:

Verwendung von Regeln an.

NSolve[ eqns, vars]gibt eine Liste von

{ }In[4] := NSolve[x^2+2x +5 == 0, x]

gibt eine Liste von numerischen Approximationen zu den Nullstellen des Polynomes fü di V i bl{ }Out[4]

In[5] :

→ →

⎡ ⎤⎣

=

⎦=

{x -1.-2.I}, {x -1.+2.I}

2FindRoot Exp[x]== Sin[x ], {x, -0.5}

für die Variable vars aus.

Out[5]⎣ ⎦

= →{x -0.714969}FindRoot[eqns, {x1, x10}, {x2, x20}, ...]sucht nach numerischen Lösungen in einem Satz von Gleichungen eqns für die Variablen xi, beginnend mit dem W t i i0

www.imms.de 21.04.2008

Einführung in Mathematica 39

Wert xi=xi0.

Extraktion von Ausdrücken vom Solve KommandoExtraktion von Ausdrücken vom Solve Kommando

Lösungen desLösungen des Gleichungssystems

gibt das erste Element der Lösung aus

gibt das erste Element der ersten Lösung aus

berechnet die erste Gleichung des Systems unter der Bedigung der Lösung solution[[1,2]]

www.imms.de 21.04.2008

Einführung in Mathematica 40

Page 21: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

22. Differentialgleichungen22. Differentialgleichungen

Symbol, nach dem gelöst werden soll

Differentialgleichung(Ableitungen werden ausgedrückt mit ’)

[ ]= ′In[1] : DSolve y [x]+ y[x]== 1, y[x], xunabhängige Variable

ausgedrückt mit )

{ }{ }{ }

=

=

-xy[x] 1+e C[1]Out[1]

In[2] : [DSolve y [x]+ y[x]== 1 y[0]== 2unbestimmter Koeffizient

{ }

{ }{ }

=

-x[ ] 1

In[2] :

O t[2]

[

]

DSolve y [x]+ y[x]== 1, y[0]== 2 ,

y[x], x //SimplifyRandbedingung{ }{ }→= xy[x] 1+eOut[2]

www.imms.de 21.04.2008

Einführung in Mathematica 41

Differentialgleichungen (Fortsetzung)Differentialgleichungen (Fortsetzung)

Das Lösen nach y[x] ergibt eine Regel speziell für y[x],Das Lösen nach y[x] ergibt eine Regel speziell für y[x],

[ ]{ }{ }

′=a x 1

In[3] :

O t[3]

DSolve y [x]== a y[x], y[x], x

{ }{ }→

=

=

a xy[x] e C[1]Out[3]

In[4] : y[x]+ y[0]+ y [x]/.%Die Regel für y[x] wird nur auf y[x] angewendet nicht auf

b i d Lö h i R l fü l i f h F kti li f t

{ }= ′a xe C[1]+y[0]+y [x]Out[4]angewendet, nicht auf y’[x] oder y[0].

wobei das Lösen nach y eine Regel für y als einfache Funktion liefert:

[ ]= ′In[5] : DSolve y [x]== a y[x], y, x[ ]{ }{ }= →

a #1y e C[1]&)Out[5]

In[6

(

] : y[x]+ y[0]+ y [x]/ % Die Regel für y als eine

{ }=

=

′a x a xC[1]+e C[1]+a e C[1]

In[6] :

Out[6]

y[x]+ y[0]+ y [x]/.% g yeinfache Funktion, wird auf alle Terme angewendet.

www.imms.de 21.04.2008

Einführung in Mathematica 42

Page 22: Einführung in MathematicaEinführung in Mathematica · PDF fileEinführung in MathematicaEinführung in Mathematica 21.04.2008 Einführung in Mathematica 1 Inhalt 1G dl1. Grundlagen

Differentialgleichungen (Fortsetzung)Differentialgleichungen (Fortsetzung)

Di F kti NDS l [ { i }] fi d tDie Funktion NDSolve[eqns, y, {x, xmin, xmax}] findet numerische Lösungen für die Funktion y. Zu Beginn muss bei NDSolve eine beliebige Start- oder Randbedingung angegebenNDSolve eine beliebige Start oder Randbedingung angegeben werden.

{ } { }[ ]In[7] NDS l '[ ] [ ]̂ 2 [0] 0 1 1{ } { }[ ]{ }[ ]{ }{ }

=

= →y InterpolationFunction {-1., 1.} , <>

In[7] :

Out[7]

NDSolve y'[x]-y[x]̂ 2== x, y[0]==0 , y, x, -1, 1

{ }=In[8] : y[-1] y[0] y[1] / %Die Lösung wird als ein spezielles Objekt { }

{ }= {0.45543, 0., 0.557176}

In[8] :

Out[8]

y[ 1], y[0], y[1] /.%dargestellt, welches die Funktion basierend auf Interpolation beinhaltet.

Der Gebrauch der Ersetzungsregel liefert den Funktionswert an bestimmten Punkten

www.imms.de 21.04.2008

Einführung in Mathematica 43

bestimmten Punkten.

23. On-Line Hilfe23. On Line Hilfe

Mathematica’s Help Browser wirdMathematica s Help Browser wird mit SHIFT - F1 gestartet. Ein gesuchtes Schlüsselwort liefert die benötigten Informationen inklusive B i i l d Li k dtBeispiele und Links zu verwandten Funktionen.

Alternativ, kann man ??command im

In[1] =??Det

Det[m] gives the determinant of the square matrix m.

Mathematica Notebook schreiben.

Attributes[Det] = {Protected}Options[Det] = {Modolus -> 0}

www.imms.de 21.04.2008

Einführung in Mathematica 44