Einführung in Maple. Universität Regensburg Fakultät für Physik

Größe: px
Ab Seite anzeigen:

Download "Einführung in Maple. Universität Regensburg Fakultät für Physik"

Transkript

1 Einführung in Maple Universität Regensburg Fakultät für Physik Januar 05

2 Inhaltsverzeichnis: I. Grundlagen.... Was ist Maple?.... Lernziel des Kurses Die Arbeitsumgebung Die Hilfsfunktionen Die ersten Graphiken Initialisierung, Restart Konstanten in Maple... 4 i. Elementare Konstanten... 4 ii. Algebraische Konstanten... 5 iii. Strings Variable Zusammengesetze Datentypen... 6 i. Algebraische Ausdrücke... 6 ii. Gleichungen... 6 iii. Range (Bereich)... 6 iv. Sequence (Folge)... 6 v. List (Liste)... 7 vi. Set (Menge)... 7 vii. Array Operatoren Funktionen zur Vereinfachung eines Ausdrucks... 9 i. Simplify... 9 ii. Factor... 9 iii. Collect... 9 iv. Combine... 9 v. Expand... 9 vi. Convert Reihenentwicklung Numerische Berechnungen Lösen von Gleichungen... 0 i. Einfache Gleichungen (und Ungleichungen)... 0 ii. Lineare Gleichungssysteme... iii. Nicht-lineare Gleichungssysteme Summen und Produkte: Eigenschaften von Variablen Differenzieren, Integrieren und Grenzwerte... 3 i. Differenzieren... 3 ii. Integrieren... 3 iii. Grenzwerte Funktionen... 4 i. Definition von Funktionen... 4 ii. Differenzieren von Funktionen, Integrieren... 5 iii. Funktionen mehrerer Variablen... 5 iv. Funktionen und Ausdrücke... 6 II. Graphik mit Maple Noch ein paar einfache Plots Darstellung von (externen Daten) Animationen und implizite Abbildungen... i. animate (create an animation of d plots of function)... ii. animatecurve (create animation of the drawing of d plots)... iii. implicitplot (two dimensional implicit plotting) Dreidimensionale Darstellungen... 5 i. spacecurve (plotting of 3d space curves)... 5 ii. surfdata (create a 3-d surface plotting from data)... 5 iii. implicitplot3d (three-dimensional implicit plotting)... 6 III. Lösung von Differentialgleichungen mit Maple Generelle Konzepte Umgang mit den Lösungen Systeme von DGLn Beispiel: Gedämpfte Schwingung Numerische Lösung und graphische Darstellung Anhang für Fortgeschrittene: das Paket DEtools IV. Programmieren und Prozeduren Hinführung Bedingungen und Schleifen (if, while, for) Prozeduren V. Lineare Algebra Arrays Vektoren und Matrizen Lineare Gleichungssysteme Eigenwerte und Eigenvektoren Ein bisschen Vektoranalysis... 49

3 Einführung in Maple Stand Januar 05 (Version 3.0) - F.Wünsch Dieses Skript basiert auf Kursen von Julian Berwanger, Martin Decker, Thomas Pruschke, Joachim Keller, Harald Dobler, Florian Chmela und Roland Winkler. Kap. : Grundlagen Kap. : Graphik mit Maple Kap. 3: Lösung von Differentialgleichungen mit Maple Kap. 4: Programmierung und Prozeduren Kap. 5: Lineare Algebra Grundlagen Was ist Maple? Maple ist ein weit verbreitetes mathematisches Softwarepaket (ähnlich dazu: Mathematica); akuell ist z.z. die Version 8. Die Universität besitzt eine Campuslizenz von Maple für Windows, Linux, Mac. Die Version 8 kann sehr viel, ist aber furchtbar träge, auch als Classic Worksheet ohne Java. Die ältere Version VR5 ist schlank und kann alles, was wir für den Kurs benötigen. Sie ist (unter Windows) zu finden in F :\MAPLE\V5\BIN3\wmaple.exe. Eine neuere Version befindet sich auf dem Windows-Desktop, andere lassen sich bei Bedarf mit RZSetup installieren. Im Kurs können wir ruhig mit Maple V Release 5 arbeiten. Die Kurs-Worksheets sind im Maple VR5-Format abgespeichert, lassen sich über ohne Probleme auch in Maple 8 öffnen. Unter Unix/Linux startet der Befehl xmaple normalerweise die aktuelleste Version, ältere (auch VR5) sind per enable verfügbar. Der Hersteller (Maple Waterloo Inc.) beschreibt sein Produkt so: Maple is a comprehensive computer system for advanced mathematics. It includes facilities for interactive algebra, calculus, discrete mathematics, graphics, numerical computation, and many other areas of mathematics. It also provides a unique environment for rapid development of mathematical programs using its vast library of built-in functions and operations. Besondere Stärke: symbolische Mathematik, also Finden von allgemeinen Lösungsformeln simples Beispiel: quadratische Gleichung: # immer sinnvoll am Anfang jedes Abschnitts > equ:=a*x^+b*x+c=0; > solve(equ,x); equ := a x + b x + c = 0 Page > b + 4 a c b 4 a c, a a b Maple kann auch numerisch rechnen, allerdings nicht so effizient wie andere Programmpakete wie z.b. Matlab, dafür aber mit beliebig einstellbarer Genauigkeit (Feststellung/Vermeidung von Rundungsfehlern, die oft völlig falsche Ergebnisse verursachen, ideal für die Entwickler von numerischen Algorithmen). Schnittstellen von Maple zu Programmiersprachen wie C oder Fortran sind vorhanden. Maple hat hervorragende Graphik-Fähigkeiten, z.b. Visualisierung von Funktionen(scharen), großen Datenmengen, auch mit Animation Maple ist für Mathematiker, Chemiker, Physiker, Ingenieure, Wirtschaftler bzw. Student(inn)en dieser Fächer von Anfang an ein sehr hilfreicher Werkzeugkasten. Lernziele des Kurses Ein komplexes Pakte wie Maple kann man nicht im klassischen Sinne komplett "lernen". Wir zeigen Ihnen die grundsätzlichen Konzepte, die Sie an Hand der Übungsaufgaben trainieren. Anschließend präsentieren wir Ihnen aus dem großen Maple-"Werkzeugkasten" einige wenige Tools aus den Paketen für erweiterte Graphik, für Differentialgleichungen und zur Linearen Algebra. Wir wollen Sie soweit bringen, dass Sie in der Lage sind, sich in die Komponenten von Maple, die Sie gerade benötigen, selbstständig einzuarbeiten, und Maple als selbstverständliches Werkzeug für Ihre tägliche Arbeit einsetzen können. Maple kann viel mehr als das, was wir im Kurs ansprechen, z.b. Statistik, Optimierung usw.. Mit?packages sehen Sie, welche große Menge an Paketen Bestandteil der jeweiligen Maple-Version ist. Darüberhinaus lohnt es sich, die Webpage zu besuchen. U.a. sind hier Maple-Lösungen für zahlreiche Problemstellungen aus allen möglichen Wissensgebieten zusammengetragen. Die Arbeitsumgebung Die Menu- und Symbolleisten entsprechen zunächst mal weitgehend Windows-Standard (z.b. File, Edit, View). Es gibt aber viel spezifische Erweiterungen, die i.d.r. kontext-abhängig sind. Worksheet-Konzept Alles passiert auf einem Arbeitsblatt im Computer. Man unterscheidet: Text-Regionen wie hier gerade; viele Elemente einer normalen Textverarbeitung verfügbar (siehe 3. Fensterleiste) Input-Regionen (gekennzeichnet mit [> ). Hier wird mathematische Eingabe erwartet (Umschalten mit Σ / T) Output-Regionen: hier gibt Maple seine Ergebnisse aus (bzw. die Eingabe schön Page b

4 dargestellt). > +3; # da fehlt ein ; als Befehls-Abschluß 5 > 3*sqrt(); # sqrt() wird NICHT genähert! 3 > evalf(%); # berechne die letzte Zeile numerisch > Beachte: die Berechnungen werden Zeile für Zeile in zeitlicher (nicht örtlicher Reihenfolge) abgearbeitet. Algebraische Ausdrücke werden zunächst nicht numerisch ausgewertet, sondern in der exakten Form gespeichert. Die üblichen Editor-Befehle wie Markieren, Ausschneiden, Kopieren usw. gehen (meist) wie unter Windows gewohnt. Manches ist allerdings etwas skurill - einfach ausprobieren, und immer wieder Gebrauch von der Undo-Funktion machen. Um bei größeren Projekten nicht die Übersicht zu verlieren, sollte man die Arbeitsblätter strukturieren (so wie dieses hier). Unter Edit bzw. Format kann man markierte Bereiche zu Sections zusammenfassen, die auf- und zugeklappt werden können (auch manchmal skurill...) Execution Groups sind mit einer Klammer versehene Eingabebereiche (oder auch Textbereiche) (am Zeilenende Shift Return drücken!). Solche Eingabebereiche werden gemeinsam ausgeführt: > x:=sqrt(); > evalf(x); x := Maple VR5 läuft eigentlich sehr stabil und stürzt nur ganz selten ab. Nichtsdestotrotz sollte man Save often, save early beherzigen (unter File in der Kopfleiste oder Button mit der Diskette in der Menüleite oder Tastenkombination <Strg>+<s>). Ab und zu möchte man auch vermeiden, dass Maple einem alle Zwischenergebnisse mitteilt: > a:=3+7;b:=4-;a*b; a := 0 b := 0 Dazu kann man einen Maplebefehl alternativ auch mit : abschließen: > a:=3+7:b:=4-:a*b; Page 3 0 Die Hilfsfunktionen Die eingebaute Online-Hilfe ist sehr gut, muss aber auch immer wieder kontaktiert werden. Was gibt's alles an Hilfe? Balloon Help: wenn man mit der Maus über einen Knopf in der Menüleiste fährt, wird die Bedeutung erklärt Maus auf ein Schlüsselwort, dort Strg F oder einfach F drücken. Alternativ kann man im Eingabefeld z.b.?solve eingeben. Beidesmal kommt die ausführliche Hilfeseite mit Beispielen. Unter Maple 8 schaut das ganze etwas schicker aus als in der Version 5: >?solve Über den Hilfe-Knopf in der Menüleiste kann man über die gesamte Doku Volltextsuche machen. Die komplette Online-Doku kann man natürlich auch durchblättern, sie ist gegliedert in die Kapitel Introduction, New User's Tour, Mathematics usw. Wir gehen mit der Maus auf ein blaues Ausgabefeld. Die rechte Maustaste macht uns Vorschläge, welche Operationen vielleicht noch sinnvoll wären. > g:=a*x^+b*x+c; > R0 := diff(g,x); g := a x + b x + c R0 := a x + b Vorgeschlagen wird differenzieren, integrieren, faktorisieren usw. Neue Versionen von Maple bieten da eine viel größere Auswahl. Die ersten Graphiken Die elementaren Graphik-Befehle heißen plot und plot3d. Probieren wir's mal: > plot(sin); Page 4

5 Ohne weitere Angaben wird eine Funktion in einem automatisch gewählten Bereich dargestellt. Es gibt viele Online-Optionen (Click auf die Graphik! dann rechte Maustaste bzw. Menuleiste). Hunderte Optionen und sehr viele schöne Beispiele (Holen mit Cut&Paste) gibt's über die Online-Hilfe bzw. die Eingabe?plot; Mal ein ganz einfacher 3D-Plot (Darstellung einer Funktion, die von x und y abhängig ist, mit explizit angegebenen Bereichen): > plot3d(sin(x)*cos(y),x=-3..3, y=-3..3); Bitte unbedingt mal damit herumspielen, drehen, die Perspektive, das Lichtmodell usw. ändern! Jetzt noch eine 3D-Animation. Was heißt das? Ich will eine Funktion darstellen, die von x und y und darüber hinaus auch noch von der Zeit abhängt. Also probieren wir: > animate3d(sin(x*t)*cos(y*t),x=-3..3,y=-3..3,t=..); animate3d ( sin( x t ) cos( y t ), x = , y = , t =.. ) Wenn Maple nicht versteht, was man will, wird einfach die Eingabe wieder ausgegeben. Warum tut sich nicht? Viele weitergehende Funktionalitäten von Maple sind in Paketen zusammengefasst, die erst hereingeladen werden müssen, so auch erweiterte Plot-Funktionen > with(plots); [ animate, animate3d, animatecurve, changecoords, complexplot, complexplot3d, conformal, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, display3d, fieldplot, fieldplot3d, gradplot, gradplot3d, implicitplot, implicitplot3d, inequal, listcontplot, listcontplot3d, listdensityplot, listplot, listplot3d, loglogplot, logplot, matrixplot, odeplot, pareto, pointplot, pointplot3d, polarplot, polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot, replot, rootlocus, semilogplot, setoptions, setoptions3d, spacecurve, sparsematrixplot, sphereplot, surfdata, textplot, textplot3d, tubeplot ] Da gibt es also zahlreiche neue Befehle, u.a. auch animate3d : > animate3d(sin(x*t)*cos(y*t),x=-3..3,y=-3..3,t=..0); Page 5 Page 6 3

6 > Initialisierung, Restart Eine (von diversen) Fallen von Maple: > x:=3; # weisen wir mal x die Zahl 3 zu ( := NICHT =) x := 3 > plot(sin(x)*exp(-x/5),x=0..0); Error, (in plot) invalid arguments Maple8 sagt es etwas konkreter: Error, (in plot) unexpected option: 3 = Gemeint ist: x ist fest 3 und kann nicht auf einmal von 0 bis 0 laufen! Außer wir vergessen alles: > plot(sin(x)*exp(-x/5),x=0..0); Der wichtigste Befehl am Beginn einer jeden Maple-Sitzung oder neuen Rechnung heißt also Er löscht alle Zuordnungen und beseitigt eventuellen Datenmüll der vorhergehenden Berechnungen. Sollte mal etwas nicht so klappen, wie man sich das denkt und liegt augenscheinlich auch kein Fehler in den Befehlen vor, so ist es oft hilfreich, ganz von vorne mit einem restart anzufangen. restart kann man auch an späterer Stelle beliebig oft einfügen. Bei jedem restart (und beim Starten von Maple) wird die Datei.mapleinit abgearbeitet, falls sie im Arbeitsverzeichnis / Homedirectory vorhanden ist. Sie darf beliebige Maple-Befehle enthalten. Z.B. könnte man damit das Hinzuladen von Paketen automatisieren. Eine kleine Randanmerkung: in diesem Trivialbeispiel hätte auch gereicht: > x=3;x:='x';x; x = 3 x := x x Damit erhält x wieder seine ursprüngliche Bedeutung als (freie) Variable. Page 7 Konstanten in Maple Elementare Konstanten Integer 3, 37, -04; 3, 37, -04 Page 8 4

7 Fraction (Brüche) Brüche werden automatisch soweit als möglich gekürzt, aber nicht numerisch ausgewertet: > 3 / 37, -09/8; > 7/8, -57/9; > 7/9+3/; Complex Die imaginäre Einheit heißt I (großes I!) > I^; > u := 3 + 4*I; > u^; 3-09, , u := I I Float (Fließkomma-Zahlen) Fließkomma-Zahlen werden durch einen Dezimalpunkt oder durch die Exponentialschreibweise als solche gekennzeichnet: > , -.345, e-3;.3333, -.345,.00 Achtung Wenn man mit Maple exakt (analytisch) rechnen möchte, sollte man es soweit als möglich vermeiden, Fließkommazahlen zu verwenden, also > phi := /4 * Pi; statt > phi := 0.5 *Pi; φ := 4 π φ :=.5 π Sonst bekommt man Schwierigkeiten beim weiterrechnen: > sin (/4 * Pi), evalf(sin (0.5 * Pi));, > P := Pi; sin (P); P := π 0 > p := pi; sin (p); # pi ist nicht definiert p := π sin( π) Die Eulersche Zahl steht in Maple als 'exp()' zur Verfügung:. > exp(); e Algebraische Konstanten Algebraische Konstanten bestehen aus den vordefinierten mathematischen Funktionen, angewandt auf elementare Konstante: > sqrt ( + sqrt ()); + Irrationale und transzendente Zahlen werden also nicht numerisch ausgewertet, wie wir schon sahen, sondern so weit wie möglich exakt behandelt. Maple zeichnet sich dadurch aus, das solche Ausdrücke `Ernst' genommen werden: > s := sqrt ( + sqrt ()) * sqrt ( - sqrt ()); > combine (s); s := + I mit combine: Combine terms into a single term. Solche Vereinfachungen werden nicht standardmäßig durchgeführt. Sie müssen jeweils erzwungen werden. Maple 8 liefert im übrigen das Ergebnis I erst nach dem Aufruf eines weiteren Umformungsbefehls namens simplyfy. Zu diesen Umformungsbefehlen später mehr. Strings Maple kann auch mit Textstrings arbeiten. Ein Textstring darf beliebige Zeichen enthalten, die von "... " (doppelte Anführungsstriche) eingeschlossen werden. > str := "Hello world": > str; Variable "Hello world" Achtung: Maple kennt keine Typ-Deklarationen für die Werte, die eine Variable annehmen darf. Jeder Variable dürfen beliebige Werte zugewiesen werden. Variablennamen dürfen in Maple praktisch beliebig lang sein (maximal ^9- Zeichen): > ^9-; Kreiszahl Pi (großes 'P'!! Maple ist case-sensitiv) Page 9 Page 0 5

8 5487 Man sollte daher soweit als möglich selbsterklärende Variablennamen verwenden: > Geschwindigkeit = Weg / Zeit; Zusammengesetzte Daten-Typen Geschwindigkeit = Es ist essentiell, sich einzuprägen, was Bereiche, Folgen, Listen und Mengen sind. Diese Konstrukte finden permanent in Maple Verwendung. Algebraische Ausdrücke, Gleichungen und Arrays sind ziemlich selbsterläuternd. Algebraische Ausdrücke Variable und Konstanten lassen sich zu beliebigen neuen Ausdrücken kombinieren > exp (sqrt ((sin (x) + Pi)/7 + x)); Weg Zeit e ( / 7 7 sin ( x ) + 7 π + 49 x ) Gleichungen Gleichungen verbinden zwei algebraische Ausdrücke mit = > x=y+z; x = y + z Das Maple-Objekt Gleichung kann auch einen Namen haben: > eq := x=y+z; > eq; eq := x = y + z x = y + z Man beachte wieder die Verwendung von := und =!!! > Range (Bereich) Viele Operationen (Summen, Integrale) erfordern einen (Summations-/Integrations-) Bereich. Bei ersteren handelt es sich um eine Menge ganzer Zahlen, bei zweiten Fall um einen kontinuierlichen Bereich. Immer haben Bereiche haben die Form 'Untergrenze.. Obergrenze' intervall := 0..*Pi;intervall; intervall := 0.. π 0.. π Damit läßt sich dann arbeiten: > int (sin (x), x = 0.. Pi); # Integriere Oder aber auch: > int (sin (x), x = intervall); Oder auch: > fkt := sin (x); Page 0 fkt := sin( x ) > x_range := x = intervall; x_range := x = 0.. π > x:=3;x:='x';int (fkt, x_range); x := 3 x := x 0 Zur Erinnerung: Bei diesen Rechnungen kommt es darauf an, dass wir mit der Variable 'x' als unbestimmte Variable arbeiten. Deshalb geht obiges Spiel in die Hose, wenn der Variable 'x' bereits ein Wert zugewiesen worden ist. Auch der Plot-Befehl arbeitet mit Ranges, wie wir schon gesehen haben. Hier noch ein Beispiel mit einer Summe: > sum(/n^,n=..5); Sequence (Folgen) Eine Sequence ist eine mit Kommas getrennte Folge von Maple-Objekten (Ausdrücken usw.): > x:=,,3; > sqrt (), sin (3/); x :=,, 3, sin 3 Was auch geht: > x:='x':int_arg := fkt, x_range; > int (int_arg); int_arg := sin( x ), x = 0.. π 0 Dieses Beispiel zeigt: eine Funktion, die mehrere Argumente annimmt, bekommt eigentlich nur ein Argument vom Typ Sequence. x muss zuvor zurückgesetzt werden, es zwei Zeilen vorher einer Folge zugewiesen wurde. Die Glieder der Folge sind geordnet. Mithilfe des Auswahloperators [ ] kann man gezielt ein Glied der Folge auswählen, Numerierung ab : > s:=x,y,z; s[]; s := x, y, z y Beispielsweise erhält man beim Lösen von Gleichungen mit Hilfe von solve eine Folge Page 6

9 von Lösungen, die im Falle einer eindeutigen Lösung die Länge eins hat. erg:=solve(x^-x+=0,x); > erg[]; erg :=, I 3 + I 3 + I 3 Die Funktion seq erzeugt eine Folge aus einer vorzugebenden Vorschrift und wird sehr oft verwendet: > seq(n^,n=..5);, 4, 9, 6, 5 List (Liste) Eine Liste ist eine mit eckigen Klammern eingeschlossene Folge. Sie kann wieder als ein Ausdruck verwendet werden. Die Elemente der Liste haben eine feste Reihenfolge, womit identische Elemente an verschiedenen Stellen immer wieder auftauchen können. > list := [, exp(), exp(0), sqrt(), 0, sqrt()]; list := [, e,,, 0, ] Ein einzelnes Element kann wieder mit dem Auswahloperator [ ] herausgegriffen werden. > list[]; Oder auch > my_seq :=,,3,,,6; > [my_seq]; e my_seq :=,, 3,,, 6 [,, 3,,, 6 ] Listen werden wir z.b. beim Plotten von Datenfeldern benutzen. Dort tauchen dann sogar listlists auf: > plot([[,],[3,4]]); # zeichne simple Gerade Page 3 Set (Menge) Eine Menge ist eine mit geschweiften Klammern eingeschlossene Folge. In einer Menge kommt jedes Element genau einmal vor: > my_set := {,,3,,,6};my_set; Oder auch > my_seq;{my_seq}; my_set := {,, 3, 6 } {,, 3, 6 } my_seq { my_seq } > set := {, exp(), exp(0), sqrt(), 0, sqrt()}; set := {, e, 0, } Man kann zwar auch wieder ein beliebiges Element auswählen, aber: die Reihenfolge der Elemente in einer Menge ist nicht festgelegt (Maple optimiert sie hinsichtlich Zugriffszeit). Sie kann sich für die gleiche Menge von einem Aufruf zum nächsten (auch innerhalb des gleichen Worksheets) ändern! > set[]; restart; set := {, exp(), exp(0), sqrt(), 0, sqrt()}; set[]; e set := {, 0,, e} 0 Es gibt Mengen-Operationen, mit denen man Schnittmengen (intersect), Vereinigungen (union) und Differenzen (minus) bestimmen kann. Page 4 7

10 > set := {seq(n,n=0..4)}; set := { 0,,, 3, 4} > set intersect set; > set union set; > set minus set; { 0, } {, 0,,, 3, 4, e } {, e } Mithilfe der Funktion member kann man überprüfen, ob ein Ausdruck Element einer Menge ist. > member(sqrt(),set); > member(sqrt(),set); false Lösungen von Gleichungssystemen werden z.b. als Menge zurückgegeben. Array Ein Array ist ein Feld mit einem oder mehreren Indizes. Für jeden Index muß ein Werte-Bereich als Range 'Untergrenze.. Obergrenze' festgelegt werden. Jedes Feld-Element kann beliebige Maple-Objekte enthalten, die nichts miteinander gemeinsam haben müssen: > arr := array (-.. 3, ["he", "ll", "o", "world", 4, sin (alpha)]); arr := array( -.. 3, [ (- ) = "he" (- ) = "ll" ( 0 ) = "o" ( ) = "world" ( ) = 4 ( 3 ) = sin( α) ]) > arr [-]; true "ll" > > arr := array (..4,.., [[,],[3,4],[5,6],[7,8]]); > arr [,]; arr := Bei der Linearen Algebra werden wir uns noch genauer mit Arrays beschäftigen. Dort Page 5 werden wir hauptsächlich mit Spezialfällen von Arrays arbeiten, nämlich mit Vektoren und Matrizen. Bei diesen beginnt das Feld automatisch immer mit dem Index. Noch eine nützliche Anmerkung: Maple behandelt intern Arrays als Listen. Folgendes ist äquivalent: > a:=[seq(i,i=..0)]; > a[3]; > a[3]:=7; > a[3]; a := [,, 3, 4, 5, 6, 7, 8, 9, 0] 3 a 3 := 7 7 > b:=array(..0,[,,3,4,5,6,7,8,9,0]); b := [,, 3, 4, 5, 6, 7, 8, 9, 0] > b[3]; b[3]:=7; b[3]; Operatoren 3 b 3 := 7 Die Standard-Operatoren zum Rechnen sind * / + - ^! (7 * X + 3)^3 / (4 * Y + ); > 4!; 7 ( 7 X + 3 ) 3 4 Y + 4 Vergleichsoperatoren sind < <= => = > Je nach Zusammenhang muss die Auswertung einer solchen Vergleichsoperation gegebenfalls mit evalb (eval boolean) erzwungen werden (analog zu evalf für eine Floatingpoint-Berechnung): > 7>3; > evalb (7 < 3); Logische Operatoren sind not, and und or > not 7<3; Rangordnung - Fakultät! - *, /, mod Page 6 3 < 7 false true 8

11 - +, - - Vergleichsoperatoren: < <= = >= > <> (ungleich) - not - and - or - der Sequence-Operator ',' - der Zuordnungsoperator ':=' Elementare Rechenfunktionen: abs, exp, ln, sqrt, sin, cos, etc. Maple kennt ihre Eigenschaften: > sin (Pi/3); 3 Eine komplette Liste aller Maple beim Start bekannten Funktionen (ein paar allgemeine und vor allem viel Mathematik) erhält man unter Help mit dem Begriff inifcns (Initially known mathematical functions) oder durch: >?inifcns Funktionen zur Vereinfachung eines Ausdrucks Hier sind nur jeweils ein paar Beispiele aufgeführt. Empfehlenswert: mal die Hilfe für die nachfolgenden Funktionen anschauen! simplify: "Allgemeine" (unspezifische / unkontrollierte) Vereinfachungen (a+b)^+(a-b)^; ( a + b) + ( a b ) Hier findet keine weitere Auswertung statt, obwohl man diesen Ausdruck sicher einfacher schreiben kann. > simplify(%); a + b Das Zeichen % bezieht sich, wie schon gesehen, auf die letzte Ausgabe von Maple, %% auf die vorletzte und %%% auf die drittletzte. simplify ist eine sehr mächtige Funktion, die allerdings ihre Tücken hat! Noch ein Beispiel: > exp_simp := exp(a + ln (b * exp (c))); exp_simp := e ( a + ln ( b ec ) ) > simplify (exp_simp); factor : Faktorisierung eines Ausdrucks b e ( a + c) > exp_fac := 6*x^ + 8*x - 4; > factor (exp_fac); Page 7 exp_fac := 6 x + 8 x 4 6 ( x + 4 ) ( x ) > factor (x^4-,sqrt()); # nur bei ganzen zahlen geht's automatisch ( x + ) ( x + ) collect: Zusammenfassen der Terme mit der gleichen Potenz einer Variablen > f := x*(x+)+y*(x+); > collect (f, x); > collect (f, y); f := x ( x + ) + y ( x + ) x + ( + y) x + y x ( x + ) + y ( x + ) combine: Zusammenfassen von Termen "unter Ausnutzung von Rechenregeln" Ein Beispiel für combine hatten wir ja schon kennengelernt. Hier ein weiteres: > exp_com := exp (sin (x) * cos (y)) * exp (cos (x) * sin (y)); exp_com := e ( sin( x ) ( )) > exp_c := combine (exp_com); cos y e ( cos( x ) sin( y) ) exp_c := e sin ( x + y) combine und expand führen die Umformungen jeweils in umgekehrter Richtung durch: > expand (exp_c); e ( sin( x ) cos( y) ) e ( cos( x ) sin( y) ) Noch ein Beispiel zu combine: > combine (sin(alpha)^3,trig); 3 sin( 3 α) + sin( α) 4 4 expand: "Expandiere" einen Ausdruck ("to distribute products over sums") > exp_exp [] := (x+)*(x+); exp_exp := ( x + ) ( x + ) > expand (exp_exp []); x + 3 x + > exp_exp [] := sin (x+y); exp_exp := sin ( x + y) > exp_exp [3] := expand (exp_exp []); exp_exp 3 := sin( x ) cos( y ) + cos( x ) sin( y ) > combine (exp_exp[3]); sin ( x + y) convert: Bringe Ausdruck in eine andere Form Page 8 9

12 > convert(exp(z),trig); cosh( z ) + sinh( z ) > convert(exp(i*z),trig); > convert(sin(x),exp); cos( z) + I sin( z) I e ( I x) e ( I x) Im nächsten Abschnitt bei den Reihen kommt noch ein Beispiel zu convert. Reihenentwicklung > reihe:=series( exp(x), x=0, 4 ); # entwickle um x=0 4 Glieder reihe := + x x 6 x3 O( x 4 ) > convert( reihe, polynom ); # jetzt ist der O - Term weg + x + + x 6 x3 > series( /x, x=, 3 ); # entwickle um x= Numerische Berechnungen ( x ) + ( x ) + O ( ( x ) 3 ) In vielen Fällen benötigt man letztlich doch eine näherungsweise numerische Auswertung eines Ergebnisses. Dies bewerkstelligt die Funktion evalf: > sq:=sqrt(); > evalf(sq); oder man berechnet > sqrt(.0); sq := Die Zahl der Stellen, die Maple berechnen soll, ist ein weiteres optionales Argument zu evalf: > evalf(sq,0); Aber Vorsicht: Numerische Rechnungen sind immer mit Rundungsfehlern behaftet: > sqrt()*sqrt(8)-4; 0 > evalf(sqrt())*evalf(sqrt(8))-4; Page 9 Vielleicht hilft es ja, die Zahl der Stellen hochzusetzen. Dazu gibt es eine Maple-Variable namens Digits. Setzt man diese auf einen Integerwert, so rechnet Maple numerisch mit der angegeben Zahl von Stellen, bis Digits neu zugewiesen wird. So kann man die erweiterte numerische Genauigkeit für den gesamten Ausdruck gültig machen (standardmäßig ist für Digits der Wert 0 eingestellt): > Digits; Digits:=50; evalf(sqrt())*evalf(sqrt(8))-4; Digits:=0; 0 Digits := Digits := 0 Achtung: Wie schon erwähnt: Maple wird alle Ausdrücke numerisch auswerten, in denen man explizit float-zahlen benutzt: > sqrt(0.)*sqrt(8)-4; Auf jeden Fall sollte man also Argumente von Funktionen immer als rationale Zahlen schreiben, wenn man damit noch weiter rechnen will: > sqrt(/0)*sqrt(8)-4; > simplify(%); Noch ein Beispiel: > 00!; \ \ > evalf(%); Lösen von Gleichungen Einfache Gleichungen (und Ungleichungen) Eine besondere Stärke von Maple ist das Lösen von Gleichungen: > solve(x^+x-=0,x); + 5, 5 Beachte: Maple gibt wieder die exakte Lösung (so vorhanden) aus. Natürlich geht auch Page 0 0

13 > eq:=x^+x-=0; > sol:=solve(eq,x); eq := x + x = 0 sol := + 5, 5 Die einzelnen Lösungen erscheinen hier als Folge (also geordnet). Wenn man auf die verschiedenen Lösungen zugreifen will, kann man das so machen: > a:=sol[];b:=sol[]; a := + 5 b := 5 Man kann auch Nebenbedingungen angeben (d.h. Gleichungen und Ungleichungen simultan lösen): > solve(x^-=0,x); > solve({x^-=0,x>0},x);, - { x = } Man beachte die Mengenklammer sowohl beim Argument von solve als auch beim Ergebnis. Wie man dieses Ergebnis dann weiterverwendet, werden wir gleich sehen. Lineare Gleichungssysteme Mit demselben Befehl solve lassen sich auch Gleichungssysteme (lineare und nichtlineare) behandeln. Hier erst mal ein lineares: > sol:=solve({x+*y-*z=5,3*x-y+z=-, -4*x+y-7*z=0},{x,y,z}); 3 5 sol := { z =, y =, x = } Man beachte, dass das System von Gleichungen wieder in geschweiften Klammern als Menge übergeben wird. Ebenso müssen die Unbekannten als Menge übergeben werden. Die Reihenfolge der Lösungen ist hier willkürlich, sie werden als als Menge zurückgegeben! Um auf die einzelnen Lösungen zurückzugreifen, könnte man im Prinzip Folgendes machen: > sol[];sol[];sol[3]; Page 3 z = 4 5 y = 4 x = 7 Beim nächsten Durchlauf könnte aber die Zuordnung anders sein. Ausserdem hat man noch keine Zuordnung der Lösungen zu den Variablen bekommen, die Variablen x,y,z sind nicht belegt: > z; z Für solche Zwecke gibt es die Befehle subs und assign. subs ersetzt in einem Ausdruck eine Variable durch einen Wert (makes the substitution specified by the first argument in the last argument). In diesem Fall bedeutet das konkret: > subs(sol,z); z; # nur temporär! z > z:=subs(sol,z); z; # so ist's dauerhaft z := 4 4 > z:='z'; assign(sol); x;y;z; # auch dauerhaft 3 z := z 4 assign ist doch ganz praktisch: "If the argument is a list or set of equations, then assign is applied to each equation in the list or set." > 7 5 Nicht-Lineare Gleichungssysteme eq:={x^+/y^=,y^-x^=},{x,y}; > sol:=solve(eq); 4 3 eq := { x + =, y x = }, { y, x} y sol := { y =, x = 0 }, { y = -, x = 0 }, { y = RootOf ( _Z ), x = }, { y = RootOf (_Z ), x = -} Die Lösung nichtlinearer Gleichungen oder Gleichungssysteme wird, speziell bei Polynomen, häufig in der impliziten RootOf-Notation angegeben ("any root of"). Maple erspart sich damit die explizite Berechnung, die bei Polynomen höheren Grades entweder nicht geschlossen möglich ist bzw. auf ziemlich unübersichtliche Ausdrücke führt. Ist man dennoch an den Lösungen interessiert, dann hilft der Befehl allvalues Page

14 weiter: > p3:=allvalues(sol[3]); p3 := { x =, y = }, { x =, y = } Jetzt kann man noch die Lösungen den Variablen zuordnen: > x:=subs(p3[],x); y:=subs(p3[],y); x := y := Natürlich kann man das Problem auch numerisch lösen: > #fsolve = solve using floating point arithmetic fsolve({x^+/y^=,y^-x^=},{x,y}); { x = , y = } Offensichtlich fehlen hier einige Lösungen. Hier muss man experimentieren, indem man in den Variablen einen Startwert angibt: > fsolve({x^+/y^=,y^-x^=},{x=,y=-.4}); { x = , y = } Die verschiedenen Lösungen findet man am besten, wenn man das System erst mal grafisch löst. Näheres später, aber hier schon ein Eindruck: > with(plots): > implicitplot({x^+/y^=,y^-x^=},x=-.., y=-..); > sum(n,n=..00); > sum(n,n=..n); > simplify(%); 5050 ( N + ) N + N N > sum( (*n-5)/(3*n^+4*n-0), n=0..0); > evalf(%); Berechnung unendlicher Summen (unendlich heißt in Maple infinity): > sum(/n,n=..infinity); > sum(x^n,n=0..infinity); x Das Ergebnis macht natürlich nur Sinn (Konvergenz der geometrischen Reihe!), wenn x < ist. Wenn man nichts angibt, nimmt Maple oft günstige Bedingungen an. Manchmal muß Maple solche Bedingungen wissen. Mitteilen kann man sie mittels assume: > assume(x>); sum(x^n,n=0..infinity); Die Schlange hinter der Variablen deutet an, dass sie mit einer Bedingung verknüpft ist. Hier: x ist reell und zwischen - und +. Wenn man mehrere Bedingungen an dieselbe Variable stellen will, muss man das mit additionally machen. Natürlich kann man Maple auch andere Dinge über eine Variable mitteilen: > Re(a+I*b);Im(a+I*b); > assume(b,real,a,real); > Re(a+I*b);Im(a+I*b); R ( a + I b) I ( a + I b ) b~ > assume(p,integer);additionally(p,positive); about(p); a~ Summen und Produkte; Eigenschaften von Variablen Berechnung endlicher Summen: Page 3 Originally p, renamed p~: is assumed to be: AndProp(integer,RealRange(,infinity)) > assume(z,complex):about(z); # was ist über z bekannt? Originally z, renamed z~: Page 4

15 is assumed to be: complex Und so weiter. Die ganze Liste möglicher Eigenschaften findet man mittels?property >?property Die Berechung von Produkten erfolgt analog mit dem Befehl product. Beispielsweise kann man auch so Fakultäten berechnen: product(n, n=..0); 0!; Oder etwas komplizierter: > product((n^-)/(n^+4), n=0..0); Auch hier kann man unendliche Produkte berechnen: > product(n, n=..infinity); > prod:=product((n^-)/(n^+4), n=0..infinity); prod := n = 0 n n + 4 Hier ist die Ausgabe eines geschlossenen analytischen Ergebnisses mit Maple 5 offenbar nicht möglich. Maple 8 schafft es! Probieren wir's numerisch: > evalf(prod); # geht leider auch nicht bei Maple V Error, (in evalf/product) cannot evaluate boolean > product((n^-.0)/(n^+4.0), n=0..infinity); Bei Maple 8 wird das Ergebnis nach einem Befehl analytisch exakt angegeben. Differenzieren, Integrieren und Grenzwerte Differenzieren >?diff; > diff(x^,x); > diff(exp(x),x); > diff(sin(x),x); x cos( x ) > diff(sin(x),x$); #. Ableitung Page 5 e x sin( x) Natürlich beherrscht Maple auch Produkt-, Quotienten- und Kettenregel: > diff(sin(x)*exp(x),x); cos( x) e x + sin( x ) e x > diff(x^/sin(x),x); > diff(sin(exp(x)),x); x sin( x) cos( e x ) e x x cos( x ) sin( x ) Statt des Befehls diff gibt es auch eine alternative Schreibweise mit dem D-Operator: > D(sin)(x); > >?D oder allgemeiner formuliert: > > D(sin*cos); cos( x ) sin( x) cos sin Sie ist oft sehr praktisch (und manchmal auch unentbehrlich), allerdings klappt's nicht immer so wie gewünscht: > D(x^)(x); sin D( x )( x ) x( x ) Die korrekte Schreibweise wäre (mehr dazu weiter unten bei Funktionen) : > D(x->x^)(x); x Integrieren Integrieren geht analog. Unbestimmte Integrale (wieder mit "impliziter Wahl günstiger Verhältnisse"): > int(x^n,x); > int(sin(x),x); > int(sin(x)^,x); Bestimmte Integrale > int(x^n,x=a..b); x ( n + ) n + cos( x) cos( x ) sin( x) + x Page 6 3

16 b n b a a n n + Maple 8 meckert hier bereits: Warning, unable to determine if 0 is between a and b; try to use assumptions or use the > int(sin(x),x=0..*pi); > int(sin(x)^,x=0..*pi); AllSolutions option π > int(exp(-x),x=0..infinity); Beim Integrieren kann auch die assume-funktion sehr hilfreich sein: > a:='a':int(exp(-a*x),x=0..infinity); Definite integration: Can't determine if the integral is convergent. Need to know the sign of --> a Will now try indefinite integration and then take limits. lim 0 e ( a x ) x a Maple 8 läßt die Anmerkung weg, agiert aber ansonsten genauso. Ausweg: > assume(a>0):int(exp(-a*x),x=0..infinity);about(a); a~ Originally a, renamed a~: is assumed to be: RealRange(Open(0),infinity) Sollte Maple ein bestimmtes Integral nicht knacken können, so kann es dieses immer noch numerisch berechnen: > int(sin(sqrt(x^3+)+),x=0..*pi); > evalf(%); 0 π sin ( x ) dx Kleine abschließende Bemerkung: es gibt auch Diff und Int (gross geschrieben); sie rechnen nicht, sondern geben den Input nur schön aus: > Diff(exp(x),x); > Int(sin(x)/x,x=0..); Page 7 x ex sin( x ) dx x 0 Grenzwerte Auch Grenzwerte von Funktionen oder Folgen lassen sich mit Maple berechnen: > limit(sin(x)/x,x=0); > limit((n+/n)/(4*n-),n=infinity); 4 Auch hier ist es oft hilfreich, Maple mittels assume über die Eigenschaften von Variablen zu informieren: > limit(exp(-b*x), x=infinity); lim x e ( b x) > assume(b>0);limit(exp(-b*x), x=infinity); 0 Auch rechts und linksseitige Grenzwerte können bestimmt werden: > limit(/x, x=0); undefined Aber: > limit(/x, x=0, left); limit(/x, x=0, right); Funktionen Definition von Funktionen Die Definition von Funktionen geht mit dem -> Operator: > f:=x->x^5; f := x x 5 x ist nur eine formale Variable und nach außen hin nicht sichtbar! > x; > f(3); > f(y); > f(sin(z)); sin( z ) 5 Achtung: Die Variable auf der linken Seite darf kein Argument aufweisen! So nicht! Page 8 x 43 y 5 4

17 > g(x):=x->x^5; # so ist's ungut! > g(3); > g(x)(3); g( x ) := x x 5 g( 3 ) 43 Man hat hier also die Funktion g( x ) und nicht g genannt. Eine weitere nützliche Funktionskonstruktion ist piecewise, mit der man Funktionen zusammenstückeln kann: > f:=x->piecewise(x<0,0,x>0,x^); > f(-);f(); f := x piecewise ( x < 0, 0, 0 < x, x ) 4 Differenzieren von Funktionen, Integrieren Mit der neuen Funktion f kann man jetzt alle bekannten Manipulationen ausführen: > f:=x->x^5;f(x);f; > diff(f(x),x); 0 f := x x 5 Jetzt verwenden statt diff den Operator D. In der Online-Hilfe steht dazu: Calling Sequence: D(f) Parameters f: expression which can be applied as a function > D(f); # erste Ableitung, Ergebnis wieder als Funktion x 5 f 5 x 4 x 5 x 4 > D(f(x)); # so nicht! 5 D( x ) x 4 > D(f)(x); # erste Ableitung, Ergebnis als Ausdruck 5 x 4 > D(D(f)); # zweite Ableitung x 0 x 3 > # auch zweite Ableitung Page 9 x 0 x 3 > # dritte Ableitung x 60 x > # Ableitung von f(sin(x)) # nicht gerade günstig ( x 5 x 4 sin cos > # als Ausdruck ist's hier praktischer 5 sin( x ) 4 cos( x ) > # Ableitung von sin(f(x)) 5 cos( x 5 ) x 4 Wie man sieht, lassen sich höhere Ableitungen durch mit natürlichen Zahlen m und Ableitungen von Verknüpfungen von Funktionen wie z.b.f(sin(x)) bzw. sin(f(x)) als und abkürzen. Der bezeichnet also die Verknüpfung zweier Funktionen: > > sin( x) 5 sin( x 5 ) Auch Integrationen von Funktionen lassen sich wie gewohnt durchführen. > int(f(x),x); > int(f(x),x=-..); 6 x6 0 > int(sin(sqrt(f(x)+)+),x=0..pi); > evalf(%); sin ( x ) dx 0 π Funktionen mehrerer Variabler Natürlich lassen sich in Maple auch Funktionen mehrerer Veränderlicher definieren. Hier als Beispiel die Bahnkurve beim schrägen Wurf mit Anfangsgeschwindigkeit v und Abwurfwinkel α: > y:=(x,alpha,v)->tan(alpha)*x-/*g/(v*cos(alpha))^*x^ ; Ableitungen gehen so: y := ( x, α, v ) tan( α) x Page 30 g x v cos( α) 5

18 > D[](y); # Ableitung nach erstem Parameter x g x ( x, α, v ) tan( α) v cos( α) > # und nochmal nach x abgeleitet g ( x, α, v) v cos( α) > diff(y(x,alpha,v),x); # wieder Ableitung nach x g x tan( α) v cos( α) > D[](y); # Ableitung nach zweitem Parameter alpha Funktionen und Ausdrücke ( x, α, v ) ( + tan( α) ) x g x sin( α) v cos( α) 3 Weiter oben hatten wir schon Ausdrücke kennengelernt. Ausdrücke und Funktionen sind miteinander verwandt, aber nicht identisch; bei manchen Anwendungen funktioniert aber nur die Darstellung als Funktion, woanders gehen nur Ausdrücke. Man kann aber leicht hin und her wandeln. a:=x^+*x+; > solve(a,x); a := x + x + -, - > a(7); # das ist Unsinn - geht nur mit Funktionen x( 7 ) + x( 7) + > subs(x=7,a); # das ist wohl gemeint 34 subs hatten wir ja schon kennengelernt in einer etwas anderen Form - dies hier ist die 'klassische' Variante. > eval(a,x=7); # so geht's auch: # evaluate an expression e at a given point 34 Funktionen wie oben sind eine Abbildungsvorschrift, man kann sie nicht "lösen"( Maple V und auch Maple 8 geben hier außnahmsweise gar nichts zurück - d.h. er kann mit irgendeiner Eingabe nichts anfangen): > f:=x->x^+*x+;f(7); solve(f,x); Page 3 f := x x + x + 34 f(x) ist aber wieder ein Ausdruck, den man lösen kann: > solve(f(x),x); -, - Umgekehrt kann man mit unapply aus Ausdrücken auch Funktionen machen: > h:=sin(x)*5; > fh:=unapply(h,x); > fh(x); > fh(); evalf(fh()); > j:=sin(x)*cos(y)+z^3; > unapply(j,x,y,z); Noch 'ne kleine Falle: f:=x->x^5; > f:=x->diff(f(x),x); > f(x); h := 5 sin( x) fh := x 5 sin( x ) 5 sin( x) 5 sin( ) j := sin( x ) cos( y ) + z 3 ( x, y, z ) sin( x ) cos( y ) + z 3 f := x x 5 f := x diff ( f( x), x ) 5 x 4 > f(); Error, (in f) wrong number (or type) of parameters in function diff oder aussagekräftiger in Maple 8: Error, (in f) invalid input: diff received, which is not valid for its nd argument Kann so nicht ausgewertet werden. Es wird zuerst x = gesetzt und dann differenziert, was dann nicht mehr geht. Ausweg: > f:=unapply(diff(f(x),x),x); > f(); f := x 5 x 4 5 Arbeitet man gleich mit dem D-Operator, gibt's dieses Problem nicht: > f:=d(f); f := x 5 x 4 Page 3 6

19 > f(); 5 Page 33 7

20 Einführung in Maple Stand Januar 05 (Version 3.0) - F.Wünsch Dieses Skript basiert auf Kursen von Julian Berwanger, Martin Decker, Thomas Pruschke, Joachim Keller und Harald Dobler, Florian Chmela und Roland Winkler. Kap. : Grundlagen Kap. : Graphik mit Maple Kap. 3: Lösung von Differentialgleichungen mit Maple Kap. 4: Programmierung und Prozeduren Kap. 5: Lineare Algebra Graphik mit Maple Noch paar einfache Plots Ein paar Plots hatten wir ja schon. Maple ist sehr reich an Darstellungsmöglichkeiten. Hier zunächst noch ein paar einfache, in den anschließenden Abschnitten zeigen wir auch ziemlich komplizierte. Auch mehrere Funktionen pro Plot sind möglich. Dazu muss man als Argument eine Menge {f,f,...} oder eine Liste [f,f,...] mit den Funktionen übergeben: > plot([exp(-x),sin(x),cos(x),/(+x)],x=0..4*pi,color=[red, blue,green,black]); Plotten kann man eine Funktion f in der Form f(x), x=a..b. Verschiedene Darstellungsstile und Auflösungen sind beim Plot-Befehl möglich und können unter?plot eingesehen werden: > plot(sin(x),x=0..4*pi,style=point, symbol=circle,color=red,numpoints=00); Page Auch Parameterdarstellungen lassen sich plotten:. Funktion Abszisse (horizontal).. Funktion Ordinate (vertikal), auch der Bereich muss mit in den eckigen Klammern stehen: > plot([sin(*t),cos(t),t=0..00*pi],scaling=constrained,num Page 8

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

Mathematica. H. Todt, M. Wendt (UP) Computational Physics - Einführung WiSe 2014/15 1 / 32 Mathematica H. Todt, M. Wendt (UP) Computational Physics - Einführung WiSe 2014/15 1 / 32 Mathematica I Mathematica ist ein Mathematik-Programm zum numerischen und symbolischen Lösen von Gleichungen Gleichungssystemen

Mehr

Kapitel 8: Graphische Darstellung von Funktionen in einer Variablen

Kapitel 8: Graphische Darstellung von Funktionen in einer Variablen Kapitel 8: Graphische Darstellung von Funktionen in einer Variablen Die graphische Darstellung von Funktionen in einer Variablen erfolgt durch den plot-. Mit plot können auch mehrere Funktionen in ein

Mehr

Gasentladung Berechnungsverfahren Durchbruchspannung. Einfluss des Elektrodenabstands auf die Durchbruchspannung

Gasentladung Berechnungsverfahren Durchbruchspannung. Einfluss des Elektrodenabstands auf die Durchbruchspannung Gasentladung Berechnungsverfahren Durchbruchspannung STUDENT > restart; Dr. Daniel Roth - Daniel.Roth@netzmedien.de Einfluss des Elektrodenabstands auf die Durchbruchspannung Nach "Hasenpusch: Hochspannungstechnik,

Mehr

Gewöhnliche Differentialgleichungen (ODEs) I

Gewöhnliche Differentialgleichungen (ODEs) I Gewöhnliche Differentialgleichungen (ODEs) I Autor: Harald Höller letzte Änderung: 17.03.10 Lizenz: Creative Commons Lizenz by-nc-sa 3.0 at Differentialgleichungen lösen und plotten in Mathematica Grundlegendes

Mehr

Kapitel 15: Differentialgleichungen

Kapitel 15: Differentialgleichungen FernUNI Hagen WS 00/03 Kapitel 15: Differentialgleichungen Differentialgleichungen = Gleichungen die Beziehungen zwischen einer Funktion und mindestens einer ihrer Ableitungen herstellen. Kommen bei vielen

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

CAS-Ansicht Computer Algebra System & Cas spezifische Befehle

CAS-Ansicht Computer Algebra System & Cas spezifische Befehle CAS-Ansicht Computer Algebra System & Cas spezifische Befehle GeoGebra Workshop Handout 10 1 1. Einführung in die GeoGebra CAS-Ansicht Die CAS-Ansicht ermöglicht die Verwendung eines CAS (Computer Algebra

Mehr

Erwin Grüner 15.12.2005

Erwin Grüner 15.12.2005 FB Psychologie Uni Marburg 15.12.2005 Themenübersicht Mit Hilfe der Funktionen runif(), rnorm() usw. kann man (Pseudo-) erzeugen. Darüber hinaus gibt es in R noch zwei weitere interessante Zufallsfunktionen:

Mehr

Vorlesung. Komplexe Zahlen

Vorlesung. Komplexe Zahlen Vorlesung Komplexe Zahlen Motivation Am Anfang der Entwicklung der komplexen Zahlen stand ein algebraisches Problem: die Bestimmung der Lösung der Gleichung x 2 + 1 = 0. 1 Mit der Lösung dieses Problems

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Mögliche Prüfungsfragen zu VO Mathematische Software

Mögliche Prüfungsfragen zu VO Mathematische Software Mögliche Prüfungsfragen zu VO Mathematische Software SS 2009 Der Prüfungsstoff umfasst alles, was in der Vorlesung vorgetragen wurde. Die folgende Liste soll Ihnen bei der Vorbereitung helfen. Bei der

Mehr

Dokumentation. Gnuplot

Dokumentation. Gnuplot Dokumentation Gnuplot Inhaltsverzeichnis 1 Einführung 1.1 Allgemeine Beschreibung des Programms 1.2 Installation des Programms 1.3 Deinstallation des Programms 2 Hauptteil (Befehle, Einstellungen und Anwendungsbeispiele)

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Einführung in MATLAB

Einführung in MATLAB Kapitel 4 Einführung in MATLAB 41 Allgemeines MATLAB ist eine kommerzielle mathematische Software zur Lösung mathematischer Probleme und zur graphischen Darstellung der Ergebnisse Die Verfahren in MATLAB

Mehr

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

Mehr

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt Eagle Eye Studios C# Tutorial Part 1 Inhalt Part 1 Einleitung Vorbereitung Das erste Projekt Einleitung Wer sich mit dem Programmieren schon einigermaßen auskennt, kann diesen Abschnitt überspringen. Programmieren,

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Kurzeinführung in C++

Kurzeinführung in C++ Kurzeinführung in C++ Johannes J. Schneider 27.10.2004 1 Einleitung C++ ist eine heutzutage in vielen Bereichen sehr häufig verwendete Programmiersprache, die auf der Programmiersprache C aufsetzt, aber

Mehr

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4 Arbeiten mit s Eine effiziente Programmierung mit PHP ohne seine s ist kaum vorstellbar. Diese Datenstruktur muss man verstanden haben, sonst brauchen wir mit weitergehenden Programmiertechniken wie der

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden? Wo kann eigene Programmierung in ArcGIS verwendet werden? 12. ArcView-Anwendertreffen 2010 Workshop Programmierung in ArcGIS Daniel Fuchs 1) Makros für die Automatisierung einzelner Arbeitsschritte im

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

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

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen 3 Variablen 3.1 Allgemeines Variablen werden in Prozeduren, Mustern und Parameter-Dokumenten definiert und verwendet und bei der Jobgenerierung durch die Werte, die ihnen zugewiesen werden, ersetzt. Variablen

Mehr

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

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Tabellenkalkulation / Funktionen. VBA Visual Basic for Applications VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL

Tabellenkalkulation / Funktionen. VBA Visual Basic for Applications VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL Tabellenkalkulation / Funktionen VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL Möchte man mal eben einfache Arbeitsschritte automatisieren oder einfach nur Tastatur-eingaben und Mausklicks

Mehr

Versuchsauswertung mit Polynom-Regression in Excel

Versuchsauswertung mit Polynom-Regression in Excel Versuchsauswertung mit Polynom-Regression in Excel Aufgabenstellung: Gegeben sei die in Bild 1 gezeigte Excel-Tabelle mit Messwertepaaren y i und x i. Aufgrund bekannter physikalischer Zusammenhänge wird

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

1 Dein TI nspire CAS kann fast alles

1 Dein TI nspire CAS kann fast alles INHALT 1 Dein kann fast alles... 1 2 Erste Schritte... 1 2.1 Systemeinstellungen vornehmen... 1 2.2 Ein Problem... 1 3 Menü b... 3 4 Symbolisches Rechnen... 3 5 Physik... 4 6 Algebra... 5 7 Anbindung an

Mehr

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB.

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen. while-schleifen. Zahlarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen In der letzten Sitzung haben wir kennengelernt, wie wir Zahlen mit Operationen

Mehr

Anwendungssoftware III (MATLAB)

Anwendungssoftware III (MATLAB) Anwendungssoftware III (MATLAB) Testvorbereitung Michael Liedlgruber Fachbereich Computerwissenschaften Universität Salzburg Sommersemester 2014 M. Liedlgruber Anwendungssoftware III (MATLAB) SS 2014 1

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

A) Durchsuchen von Datenbanken im Internet durch Endnote

A) Durchsuchen von Datenbanken im Internet durch Endnote EINLEITUNG/ANWEISUNGEN ZU DIESEM TEXT Wir werden die obere Liste (File/ Edit usw.) benutzen, obwohl die meisten Funktionen auch möglich mit rechtem Mausklick, mit Kombinationen der Tastatur oder mit den

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

WIRIS quizzes Datenbank, Mathematik für Moodle Quiz

WIRIS quizzes Datenbank, Mathematik für Moodle Quiz WIRIS quizzes Datenbank, Mathematik für Moodle Quiz Carles Aguiló Maths for More WIRIS quizzes verbessert die Funktionalität von Moodle Quiz in der Mathematik und in anderen wissenschaftlichen Themengebieten.

Mehr

Vorlesung 15.11.2013 Inhaltsverzeichnis. Einfache Rechnungen

Vorlesung 15.11.2013 Inhaltsverzeichnis. Einfache Rechnungen Vorlesung 15.11.2013 Inhaltsverzeichnis 1. 2. 3. 4. 5. 6. 7. Einfache Rechnungen Hilfe! Gleitkommazahlen Formales Rechnen Polynome Lösen von Gleichungen Endliche Körper Einfache Rechnungen Sage kann alles,

Mehr

Beispiel 19. December 4, 2009

Beispiel 19. December 4, 2009 Beispiel 9 December 4, 2009 Computermathematik (für Informatik) 4. Übungsblatt (Musterlösung) 2. 2. 2009 Die heutigen Übungen sollen mit dem Computeralgebrasystem Sage gelöst werden. Die Lösung der Beispiele

Mehr

ax 2 + bx + c = 0, (4.1)

ax 2 + bx + c = 0, (4.1) Kapitel 4 Komplexe Zahlen Wenn wir uns auf die reellen Zahlen beschränken, ist die Operation des Wurzelziehens (also die Umkehrung der Potenzierung) nicht immer möglich. Zum Beispiel können wir nicht die

Mehr

3 Berechnungen und Variablen

3 Berechnungen und Variablen 3 Berechnungen und Variablen Du hast Python installiert und weißt, wie man die Python-Shell startet. Jetzt kannst Du etwas damit machen. Wir fangen mit ein paar einfachen Berechnungen an und wenden uns

Mehr

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

2. Grundlagen der technischen Software - Beispiel: MathCAD 2.1 Einführung 2.2 Grundlagen an Beispielen Gliederung 2. Grundlagen der technischen Software - Beispiel: MathCAD 2.1 Einführung 2.2 Grundlagen an Beispielen 2.1 Einführung 2-01 MathCAD im Überblick Taschenrechner für numerische Berechnungen Industriestandard-Rechensoftware

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Mathematik am Computer 7. Vorlesung: Matlab, Teil II

Mathematik am Computer 7. Vorlesung: Matlab, Teil II Mathematik am Computer 7. Vorlesung: Matlab, Teil II Helmut Harbrecht Universität Stuttgart 27. Januar 2011 Helmut Harbrecht (Universität Stuttgart) Mathematik am Computer 27. Januar 2011 1 / 35 Übersicht

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Grundlagen der Arbeit mit Mathematica

Grundlagen der Arbeit mit Mathematica Kapitel I Grundlagen der Arbeit mit Mathematica In diesem Kapitel wollen wir grundlegende Fragen zur Benutzung von Mathematica klären. Dazu wollen wir in Abschnitt 2 ein wenig in Mathematica hineinschnuppern

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise A-Plan 2010 SQL Hinweise zur SQL-Version von A-Plan Copyright Copyright 1996-2010 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten Internetseiten

Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten Internetseiten Thema: Favoriten nutzen Seite 8 3 INTERNET PRAXIS 3.1 Favoriten in der Taskleiste Es gibt aber weitere Möglichkeiten, die den Zugriff auf die individuell wichtigsten seiten beschleunigen. Links in der

Mehr

LINGO: Eine kleine Einführung

LINGO: Eine kleine Einführung LINGO: Eine kleine Einführung Jun.-Prof.Dr. T. Nieberg Lineare und Ganzzahlige Optimierung, WS 2009/10 LINDO/LINGO ist ein Software-Paket, mit dessen Hilfe (ganzzahlige) lineare Programme schnell und einfach

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Zuammenfassung: Reelle Funktionen

Zuammenfassung: Reelle Funktionen Zuammenfassung: Reelle Funktionen 1 Grundlegendes a) Zahlenmengen IN = {1; 2; 3; 4;...} Natürliche Zahlen IN 0 = IN {0} Natürliche Zahlen mit 0 ZZ = {... ; 2; 1; 0; 1; 2;...} Ganze Zahlen Q = { z z ZZ,

Mehr

Projekt: Programmierung mit dem. Grafikfähiger Taschenrechner CASIO CFX-9850GB Plus

Projekt: Programmierung mit dem. Grafikfähiger Taschenrechner CASIO CFX-9850GB Plus Projekt: Programmierung mit dem Grafikfähiger Taschenrechner CASIO CFX-9850GB Plus Inhalt: Programmerstellung am GTR Erstes Programm: Hello world Methoden Text und Zahlen auszugeben Eingabemethoden Vergleichsoperationen

Mehr

Rekursionen (Teschl/Teschl 8.1-8.2)

Rekursionen (Teschl/Teschl 8.1-8.2) Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied

Mehr

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s Nachtrag zur allgemeinen Vektorraum-Theorie. 1.5.15. Direkte Summen. Sei V ein Vektorraum, seien U 1,..., U t Unterräume, wir schreiben V = U 1 U 2 U t = t i=1 U i falls die folgenden beiden Bedingungen

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

Hello world. Sebastian Dyroff. 21. September 2009 Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung

Mehr

Microsoft Excel 2010 Matrix-Funktionen

Microsoft Excel 2010 Matrix-Funktionen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Excel 2010 Matrix-Funktionen Matrix-Funktionen in Excel 2010 Seite 1 von 7 Inhaltsverzeichnis Einleitung... 2 Integrierte Matrixfunktionen...

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

Tutoren Simon Andermatt Lukas Beck. Alexis Peter Thomas Ritter

Tutoren Simon Andermatt Lukas Beck. Alexis Peter Thomas Ritter UNIVERSITÄT BASEL Dozent Prof. Dr. Thomas Vetter Departement Informatik Assistenten Brian Amberg Andreas Forster Tutoren Simon Andermatt Lukas Beck Webseite http://informatik.unibas.ch/lehre/hs10/cs101/index.html

Mehr

Origin Tutorial. 1. Einleitung : 2.Importieren von Dateien in Origin :

Origin Tutorial. 1. Einleitung : 2.Importieren von Dateien in Origin : Origin Tutorial 1. Einleitung : Dieses Tutorial soll Einsteigern das Importieren und Plotten von Daten in Origin erklären. Außerdem werden Möglichkeiten zur Durchführung linearer Anpassungen, polynomieller

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java Grundlagen von Java Aufgabe 1: Typen und Zuweisungen in Java Welche der folgenden Java-Anweisungen sind fehlerhaft? Handelt es sich um einen Compiler- oder einen Laufzeitfehler? Anmerkung: Folgefehler

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc. Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 4: Stand: 03.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische Universität Eichstätt-Ingolstadt

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Handbuch AP Backoffice

Handbuch AP Backoffice Handbuch AP Backoffice Verfasser: AP marketing Tony Steinmann Bahnhofstrasse 13 6130 Willisau Alle Rechte vorbehalten. Willisau, 24. August 2005 Handbuch unter www.ap-backoffice.ch/handbuch_ap-backoffice.pdf

Mehr

Mathematik-Dossier. Die lineare Funktion

Mathematik-Dossier. Die lineare Funktion Name: Mathematik-Dossier Die lineare Funktion Inhalt: Lineare Funktion Lösen von Gleichungssystemen und schneiden von Geraden Verwendung: Dieses Dossier dient der Repetition und Festigung innerhalb der

Mehr

Stata I: Analyseorganisation und erste Schritte

Stata I: Analyseorganisation und erste Schritte Stata I: Analyseorganisation und erste Schritte 03. November 2003 Ziel dieser Veranstaltung ist zu lernen: 1. Benutzung der Hilfe-Funktion (help, search) 2. Ein Analyse-File zu erstellen 3. die Arbeit

Mehr

Charakteristikenmethode im Beispiel

Charakteristikenmethode im Beispiel Charakteristikenmethode im Wir betrachten die PDE in drei Variablen xu x + yu y + (x + y )u z = 0. Das charakteristische System lautet dann ẋ = x ẏ = y ż = x + y und besitzt die allgemeine Lösung x(t)

Mehr

Fachbereich Mathematik und Informatik Wintersemester 2011/2012 Universität Marburg Tobias Weich. Sage Tutorial

Fachbereich Mathematik und Informatik Wintersemester 2011/2012 Universität Marburg Tobias Weich. Sage Tutorial Fachbereich Mathematik und Informatik Wintersemester 2011/2012 Universität Marburg Tobias Weich Sage Tutorial Im Laufe des Semesters wird es für einige der Schnittstellenaufgaben notwendig sein, eine Mathematiksoftware,

Mehr

SchlieSSen Sie Ihren Lemur an

SchlieSSen Sie Ihren Lemur an 1 SchlieSSen Sie Ihren Lemur an Der Lemur ist nicht irgendein durchschnittlicher MIDI-Controller. Er spricht 1000 Mal schneller und mit der 4-fachen Auflösung. Also finden Sie auf der Rückseite auch nicht

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Einführung in C++ Operatoren überladen (Klassen)

Einführung in C++ Operatoren überladen (Klassen) Einführung in C++ Operatoren überladen (Klassen) Operatoren überladen Die Überladung von Operatoren ermöglicht es, vorhandene Operatoren (+,-,...) auch auf Objekte von Klassen anzuwenden. Die meisten der

Mehr

Lua - Erste Schritte in der Programmierung

Lua - Erste Schritte in der Programmierung Lua - Erste Schritte in der Programmierung Knut Lickert 7. März 2007 Dieser Text zeigt einige einfache Lua-Anweisungen und welchen Effekt sie haben. Weitere Informationen oder eine aktuelle Version dieses

Mehr

Darstellungsformen einer Funktion

Darstellungsformen einer Funktion http://www.flickr.com/photos/sigfrid/348144517/ Darstellungsformen einer Funktion 9 Analytische Darstellung: Eplizite Darstellung Funktionen werden nach Möglichkeit eplizit dargestellt, das heißt, die

Mehr

Lösung zur Übung 3. Aufgabe 9)

Lösung zur Übung 3. Aufgabe 9) Lösung zur Übung 3 Aufgabe 9) Lissajous-Figuren sind Graphen in einem kartesischen Koordinatensystem, bei denen auf der Abszisse und auf der Ordinate jeweils Funktionswerte von z.b. Sinusfunktionen aufgetragen

Mehr

Anleitung zur NMR Auswertung mit SpinWorks. SpinWorks 3.1.8, Copyright 2011, Kirk Marat, University of Manitoba

Anleitung zur NMR Auswertung mit SpinWorks. SpinWorks 3.1.8, Copyright 2011, Kirk Marat, University of Manitoba Anleitung zur NMR Auswertung mit SpinWorks SpinWorks 3.1.8, Copyright 2011, Kirk Marat, University of Manitoba erstellt von Inhaltsverzeichnis Allgemeines... 2 Bearbeitung von 1D Spektren... 4 Datei öffnen...

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) 1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) D A S S O L L T E N N A C H E U R E M R E F E R A T A L L E K Ö N N E N : Kostenfunktion, Erlösfunktion und Gewinnfunktion aufstellen, graphisch

Mehr

Hinweise zu A-Plan 2009 SQL

Hinweise zu A-Plan 2009 SQL Hinweise zu A-Plan 2009 SQL Für Microsoft Windows Copyright Copyright 2008 BRainTool Software GmbH Inhalt INHALT 2 EINLEITUNG 3 WAS IST A-PLAN 2009 SQL? 3 WANN SOLLTE A-PLAN 2009 SQL EINGESETZT WERDEN?

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

DLR_School_Lab- Versuch Haftmagnet

DLR_School_Lab- Versuch Haftmagnet Drucksachenkategorie DLR_School_Lab- Versuch Haftmagnet Untersuchung von Haftmagneten durch Messungen und numerische Simulation nach der Finite- Elemente-Methode (FEM) Version 3 vom 30. 6. 2014 Erstellt

Mehr

TYPO3 Redaktoren-Handbuch

TYPO3 Redaktoren-Handbuch TYPO3 Redaktoren-Handbuch Kontakt & Support: rdv interactive ag Arbonerstrasse 6 9300 Wittenbach Tel. 071 / 577 55 55 www.rdvi.ch Seite 1 von 38 Login http://213.196.148.40/typo3 Username: siehe Liste

Mehr

Musterlösungen zu Prüfungsaufgaben über gewöhnliche Differentialgleichungen Prüfungsaufgabe a) Gegeben sei die lineare Differentialgleichung

Musterlösungen zu Prüfungsaufgaben über gewöhnliche Differentialgleichungen Prüfungsaufgabe a) Gegeben sei die lineare Differentialgleichung Musterlösungen zu n über gewöhnliche Differentialgleichungen a) Gegeben sei die lineare Differentialgleichung y + - y = e - ln, > 0 Man gebe die allgemeine Lösung der homogenen Gleichung an Wie lautet

Mehr

6 Symmetrische Matrizen und quadratische Formen

6 Symmetrische Matrizen und quadratische Formen Mathematik für Ingenieure II, SS 9 Freitag. $Id: quadrat.tex,v.5 9//5 ::59 hk Exp $ $Id: orthogonal.tex,v.4 9// ::54 hk Exp $ $Id: fourier.tex,v. 9// :: hk Exp $ Symmetrische Matrizen und quadratische

Mehr

Whitepaper. Schnittstellenbeschreibung (SMTP) *@gateway.any-sms.biz

Whitepaper. Schnittstellenbeschreibung (SMTP) *@gateway.any-sms.biz Whitepaper Schnittstellenbeschreibung (SMTP) *@gateway.any-sms.biz Stand 03.03.201 3.03.2014 1. Klassisch (Betreff)... Seite 2 2. From (Absender)... Seite 6 Seite 1 1. Mail2SMS Klassisch (Betreff) SMTP-Schnittstelle

Mehr

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen .3 Komplexe Potenzreihen und weitere komplexe Funktionen Definition.) komplexe Folgen: z n = x n + j. y n mit zwei reellen Folgen x n und y n.) Konvergenz: Eine komplexe Folge z n = x n + j. y n heißt

Mehr

Arbeiten mit Turbo Pascal 5.0

Arbeiten mit Turbo Pascal 5.0 Arbeiten mit Turbo Pascal 5.0 Douglas Hergert SYBEX DUSSELDORF. PARIS, SAN FRANCISCO -LONDON ARNHEIM VI Arbeiten mit Turbo Pascal 5.0 Inhaltsverzeichnis Einführung SYBEX-Infos Installation von Turbo Pascal

Mehr