Mögliche Prüfungsfragen zu „VO Mathematische Software“

Werbung
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 Prüfung können allerdings auch andere Fragen bzw. Zusatzfragen gestellt
werden.
Bei allen Fragen sollten Sie die Antwort einerseits allgemein formulieren, andererseits an Hand von
Beispielen erklären können.
Zusätzlich zu Fragen in der Art, wie sie hier aufgelistet sind, werden auch Fragen analog zu den Tests in
der Übung zur Prüfung kommen.
à Kapitel 0: Einführung – Was ist und kann Mathematica?
0.1
Wie kann man komplizierte Ergebnisse in Kurzform auf dem Bildschirm darstellen? Was bedeuten
dabei die Zeichen << und >>?
0.2
Nenne vier typische Merkmale von mathematischer Software.
0.3
Wie lässt sich mit dem zuletzt von Mathematica berechneten Ergebnis weiterrechnen?
à Kapitel 1: Grundlagen von Mathematica
1.1
Erklären Sie die Unterschiede zwischen der üblichen mathematischen Schreibweise und der
Schreibweise von algebraischen Ausdrücken und Funktionen in Mathematica.
1.2
Wie unterscheiden sich exakte und näherungsweise Zahlen? Wie kann man erreichen, dass bei
numerischer Rechnung mit etwa 64 Dezimalstellen gerechnet wird?
1.3
Wie kann man die Summe einer unendlichen Reihe exakt berechnen?
1.5
Welche Möglichkeiten kennen Sie, algebraische Ausdrücke zu vereinfachen?
1.4
1.6
Wie lässt sich der Vorrang zwischen zwei Operatoren herausfinden (ohne Benutzung der Hilfe)?
Geben Sie ein Beispiel für die Verwendung von „Assumptions“ bei Simplify.
1.7
Ordnen Sie die folgenden Operatoren nach ihrem Vorrang: +, :=, *, =, ^, ==, //. Wie lässt sich
eine andere Auswertungsreihenfolge erzielen?
1.8
Welche Arten von Bedingungen kennen Sie in Mathematica?
1.10
Was können Sie über Mathematica-Funktionen sagen, deren Namen mit einem Q endet?
1.12
Was versteht man unter den Begriffen Ausdruck/Expression, Head und Atom?
1.9
Nennen Sie zwei Möglichkeiten, um zu überprüfen, ob eine Zahl eine Primzahl ist.
1.11 Erläutern Sie die wichtigsten Möglichkeiten zur Umformung algebraischer Ausdrücke
(Vereinfachen, Ausmultiplizieren, Faktorisieren, Kürzen, auf gemeinsamen Nenner bringen, in
Partialbrüche zerlegen).
1.13
Was ist die FullForm von
H1 + bL2 a
fragen.nb
2
1.14 Welche Vereinfachungen für die Eingabe bieten InputForm und StandardForm gegenüber der
FullForm?
1.15
Wie erzeugt man eine reelle Zufallszahl zwischen -1 und 1? Wie erzeugt man eine zufällige ganze
Zahl zwischen 1 und 6?
1.16 Nach welchem Schema sind in Mathematica Namen für interne Funktionen und Variablen
vergeben? Wie stellt man sicher, dass ein selbst definierter Name nicht mit einem eingebauten kollidiert?
1.17
Wie lassen sich alle selbst definieren Funktion und Variablen, deren Name mit x beginnt, auflisten?
1.18
Wie lassen sich Bedingungen logisch verknüpfen?
1.20
Wie lassen sich die Parameter, von denen eine Ausgabe abhängt, interaktiv verändern?
1.19
Geben Sie eine Bedingung an, die dann wahr ist, wenn x eine natürliche Zahl ist.
1.21 Wie lässt sich bei Manipulate eine Variable definieren, die nur ganzzahlige Werte annimmt?
Wie lässt sich eine Variable definieren, die nur Werte aus einer gegebenen Liste annimmt?
à Kapitel 2: Grafische Darstellung von Funktionen
Die Fragen beziehen sich teilweise auch auf Grafikbefehle, die erst in späteren Kapiteln besprochen
wurden (ListPlot, ArrayPlot, MatrixPlot, ParametricPlot, ParametricPlot3D).
2.1
Geben Sie einen Mathematica-Ausdruck an, der die folgende Grafik erzeugt. Achten Sie dabei
insbesondere auf die Verwendung der richtigen Optionen.
2.2
Wie erzeugt man grafische Darstellungen von Funktionen von Ø? Welche Möglichkeiten gibt
es, die Darstellungsweise zu beeinflussen?
2.3
Welche Möglichkeiten zur grafischen Darstellung von Funktionen von zwei reellen Variablen gibt
es? Wie kann man die Darstellung beeinflussen?
2.4
Wie kann man mehrere Funktionen über- oder nebeneinander plotten? Wie erreicht man, dass die
Funktionen in verschiedenen Farben oder Strichstärken gezeichnet werden?
2.5
Wie lassen sich alle Optionen, die ein bestimmter Befehl kennt, anzeigen?
2.7
Was bedeutet die Option AspectRatio→1? Was die Option AspectRatio→Automatic?
2.6
Wie setzt man Optionen für eine Funktion so, dass sie für das ganze Notebook gelten? Wie kann
man die gesetzten Optionen anzeigen lassen?
2.8
Wie lässt sich die Genauigkeit der grafischen Darstellung beeinflussen? Erklären Sie insbesondere
den Unterschied zwischen PlotPoints und MaxRecursion.
2.9
Wie kann man Kurven
Parameterdarstellung gegeben sind?
oder
Flächen
graphisch
darstellen,
wenn
Sie
durch
2.10
Welche Möglichkeiten kennen Sie, den Stil, in dem Linien gezeichnet werden, zu beeinflussen?
2.12
Erzeugen Sie mit ParametricPlot3D das Bild eines Kegels und eines Zylindermantels.
2.11
eine
Welche Befehle gibt es zur Darstellung von Funktionen a) von Ø , b) von 2 Ø , c) von
Ø 2 , d) von Ø 3 und e) von 2 Ø 3 ?
2.13
Plotten Sie eine Funktion f : Ø so, dass der Graph der Funktion für positive Funktionswerte
grün, für negative rot gezeichnet wird.
fragen.nb
3
Kapitel 3: Zuweisungen
3.1
Was ist eine Zuweisung? Was ist der Unterschied zwischen einer Zuweisung mit sofortiger und
einer mit verzögerten Auswertung? Geben Sie zwei Beispiele an, wo sich der Unterschied auswirkt.
3.2
Wie definiert man in eine Funktion? Erklären Sie auch hier die Unterschiede zwischen
gewöhnlicher und verzögerter Zuweisung, insbesondere für Funktionen, die als Ableitungen oder Integrale
anderer Funktionen definiert werden.
3.3
Welche Bedeutung hat der Unterstrich bei den Argumenten einer Funktion? Wie wirkt sich ein
Weglassen des Unterstrichs aus?
3.4
Wie kann man sich über die aktuelle Definition einer (selbst geschriebenen) Funktion informieren?
3.6
Wie lassen sich Funktionen mit Default-Argumenten definieren?
3.5
Was sind Muster/Pattern? Wozu dienen sie? Gibt es andere Anwendungen außer für
Funktionsdefinitionen?
3.7
Geben Sie das Pattern für die Definition einer Funktion f an, die als Argument
1) eine ganze Zahl
2) eine Matrix
3) eine beliebige Liste
4) eine 3-elementige Liste mit einer geraden Zahl, einer weiteren Liste und einem beliebigen
Ausdruck
5) eine komplexe Zahl mit ganzzahligem Real- und Imaginärteil
6) eine reelle Zahl zwischen 1 und 2 und (optional, sonst 0) eine zweite reelle Zahl
enthält.
3.8
Wann und warum wird die Funktion Evaluate benötigt?
3.9
Schreiben Sie eine rekursive Funktion zur Berechnung von n!, die sich einmal berechnete
Ergebnisse für spätere Aufrufe merkt.
3.10 Wie kann man erreichen, dass eine selbst geschriebene Funktion Optionen an eine verwendete
Mathematica-Funktion weitergibt?
3.11 Geben Sie das Pattern für die Definition einer Funktion f an, die als einziges Argument einen
Vektor im 2 (d.h. mit ganzzahligen Koordinaten) akzeptieren soll. Auf diesen Punkt soll innerhalb der
Funktion unter dem Namen p zugegriffen werden können.
3.12
Zählen Sie mindestens vier Befehle auf, die ihr erstes Argument mehrfach auswerten.
3.14
Wie kann man mit Mathematica eine Funktion f sowie ihre Ableitung und ihre Stammfunktion
3.15
Erklären Sie die Bedeutung des Hold-Attributs. Wie lässt sich die Wirkung aufheben?
3.13 Wie lässt sich die Laufzeit eines Programms messen? Wie lässt sich verfolgen, in welchen
Schritten die Auswertung genau vor sich geht?
plotten?
3.16 Wie erzwingt man, dass eine Funktionsdefinition nur dann zur Anwendung kommt, wenn die
Funktion mit zwei gleichen Argumenten aufgerufen wird?
fragen.nb
4
3.17
Eine Funktion g : 2 Ø ist folgendermaßen definiert: gHa, bL = gHb, a mod bL für b ∫ 0 und
gHa, 0L = a, wobei a mod b für den Rest der Division von a durch b steht. Schreiben Sie eine rekursive
Mathematica-Funktion, die g berechnet.
3.18 Schreiben Sie eine Funktion, die die Fakultät einer natürlichen Zahl berechnet – einmal mit
Pattern, einmal mit If.
3.19 Schreiben Sie eine Funktion erstesMal[liste_,a_], das angibt, an der wievielten Stelle einer
einfachen Zahlenliste sich zum ersten Mal das Element a befindet. Wenn a in der Liste vorkommt, dann
soll die Funktion die Position zurückliefern. Wenn a nicht in der Liste vorkommt, dann können Sie irgend
einen anderen Wert zurückgeben, z.B. 0 oder die Länge der Liste plus 1.
3.20 Geben Sie ein Bedingung an, die dann wahr wird, wenn ein Ausdruck ein Pattern matcht. Geben
Sie ein Pattern an, das dann von einem Ausdruck gematcht wird, wenn dieser eine Bedingung erfüllt.
3.21
Erklären Sie den Unterschied zwischen x_Rational und x_/;x∈Rationals. Gibt es
3.22
Schreiben Sie eine Funtion, die beliebige Polynome differenzieren kann.
Ausdrücke, die eines der Pattern matchen, das andere jedoch nicht?
3.23 Schreiben Sie Funktionen, die nur mit Hilfe von Pattern-Matching das gleiche tun wie die später
im Kapitel über Listen vorgestellten Funktionen First, Last, Most, Rest, Append, Prepend, Join,
und Flatten.
à Kapitel 4: Listen
4.1
Was ist eine Liste? Worin besteht der Unterschied zu einer Menge?
4.3
Was ist ein Iterator? Welche Formen von Iteratoren kennen Sie?
4.2
4.4
4.5
Wie kann man Listen erzeugen (insbesondere Vektoren und Matrizen)?
Wie erzeugt man eine Wertetabelle (z.B. x2 für x = -10, -9, …, 9, 10)
Wie lassen sich verschachtelte Listen formatiert ausgeben?
4.6
Wie kann man Listen von Zahlen bzw. Zahlenpaaren grafisch darstellen? Erklären Sie auch die
wichtigsten Optionen.
4.7
Welche Möglichkeiten gibt es, um einzelne Listenelemente oder Teile von Listen anzusprechen?
4.8
Wie erzeugt man eine Teilmenge, die durch eine charakteristische Eigenschaft ihrer Elemente
definiert ist?
4.9
Wie wirkt sich die Funktion Sort aus, wenn man sie auf eine Liste anwendet, deren Elemente
selbst Listen sind? Erklären Sie damit eine Möglichkeit, Listen nach bestimmten „Sortierkriterien“ zu
ordnen.
4.10 Geben Sie zwei verschiedene Möglichkeiten an, wie man von einer Matrix eine bestimmte Spalte
entfernen kann.
4.11
Wie stellt man fest, wieviele verschiedene Elemente eine Liste hat?
4.13
Erzeugen Sie möglichst einfach eine Liste der Zahlen von 1 bis 100.
4.12 Seien a und b zwei Listen. Was ist der Unterschied zwischen Join[a,b], Append[a,b] und
Union[a,b]?
4.14
Wie lassen sich Elemente aus einer Liste löschen? Wie können Elemente ersetzt oder eingefügt
fragen.nb
5
werden?
4.15
4.16
Wie stellt man fest, ob eine Liste sortiert ist?
Unter welcher Bedingung liefert Sort und Union das gleiche Ergebnis?
à Kapitel 5: Funktionale Programmierung
5.1
Wie wendet man eine Funktion auf alle Elemente einer Liste an?
5.3
Schreiben sie einen möglichst einfachen/kurzen Ausdruck, der zum gleichen Ergebnis führt wie
5.2
Welche Bedeutung hat das Attribut Listable? Welche Funktionen mit diesem Attribut kenne
Sie? Wie lässt sich der gleiche Effekt für andere Funktionen erzielen?
5.4
5.5
Table @Sin@liste PiTD, 8i, 1, Length @liste D<D
Was ist der Unterschied zwischen Map und Apply?
Nennen Sie vier typische erste Argumente für Apply.
5.6
Schreiben Sie ein Programm häufigkeiten[liste_,n_], das zu einer gegebenen Liste von
natürlichen Zahlen feststellt, wie oft in dieser Liste jede einzelne der Zahlen 1, 2, …, n vorkommt. (Das
Ergebnis soll eine Liste der Länge n sein.)
5.7
5.8
5.9
Was sind anonyme Funktionen? Erläutern Sie mindestens zwei sinnvolle Beispiele.
Was tut das folgende Programm?
f@x_, p_D := Apply @Plus , Map@ Sqrt @Hx − L.Hx − LD &, pD D
Wie kann man den Mittelwert und den Median der Elemente einer Liste berechnen?
5.10 Wählen Sie aus einer Liste von Punkten im n all jene aus, deren Abstand zum Ursprung kleiner 1
ist. Definieren Sie dazu keine Hilfsfunktion.
5.11 Schreiben Sie eine Funktion, der eine Liste von Vektoren übergeben wird und die von jedem dieser
Vektoren die Norm (d.h. die Länge) berechnet und diese in einer Liste zurück gibt. Verwenden Sie nicht
den Befehl Norm.
5.12 Schreiben Sie eine Funktion, der eine Liste von Vektoren und eine positive Zahl r übergeben
werden. Aus der Liste sollen jene Vektoren ausgewählt werden, deren Maximumsnorm kleiner oder gleich
r ist. (Bem: Die Maximumsnorm eines Vektors erhält man, indem man zuerst von jeder Koordinate den
Absolutbetrag ermittelt und dann den größten dieser Werte nimmt.)
5.13 Wie erreicht man, dass eine Funktion iteriert wird, wenn entweder die Anzahl der Iterationen oder
eine Abbruchbedingung gegeben ist?
à Kapitel 6: Vektorrechnung
6.1
Wie schreibt man folgende Operationen für Vektoren: Addition, Multiplikation mit einem Skalar,
inneres (skalares) Produkt, äußeres (vektorielles- oder Kreuz-) Produkt, Norm.
6.2
Wie schreibt man folgende Matrixoperationen: Addition, Multiplikation, Transponieren, Inversion,
Determinante?
6.3
Was ist zu beachten, wenn man mit Mathematica symbolisch Identitäten zwischen Vektoren
beweisen will?
fragen.nb
6
6.4
Wie lassen sich Matrizen optisch ansprechend darstellen?
6.5
Schreiben Sie eine Funktion schwerpunkt[a_,b_,c_], die den Schwerpunkt eines durch seine
drei Eckpunkte gegebenen Dreiecks berechnet. Die Koordinaten des Schwerpunktes s = Isx , s y M sind
gegeben durch sx =
a x +b x +c x
3
und s y =
Koordinaten der Punkte zuzugreifen.
a y +b y +c y
3
. Lösen Sie das Problem jedoch, ohne direkt auf die einzelnen
6.6
Schreiben Sie ein möglichst einfaches Programm paarPlot[x_,y_], das zu zwei gegebenen
Zahlenlisten 8x1 , x2 , …, xn < und 8y1 , y2 , …, yn < eine graphische Darstellung der Punkte
Hx1 , y1 L, …, Hxn , yn L erzeugt.
6.7
Wie löst man lineare Gleichungssysteme? Diskutieren Sie insbesondere auch den Fall, dass die
Lösung nicht eindeutig ist.
6.8
Geben Sie eine Funktion an, die einen Vektor im 2 um 90 ± dreht.
6.9
Schreiben Sie eine Funktion symmetrale[p1_,p2_], die zu zwei Punkten im 2 die
Seitensymmetrale berechnet und in Form einer Gleichung (also z.B. 3x+7y==2) zurückliefert.
6.10 Wie könnte man das innere Produkt und die Norm eines Vektors ohne Dot, Norm und
EuclideanDistance berechnen?
6.11
Seien g : a x + b y = c und h : d x + e y = f zwei Geraden im 2 . Berechnen Sie den Schnittpunkt
mit LinearSolve.
6.12 Die Matrix a und der Vektor b eines linearen Gleichungssystems A x = b seien gegeben. Lösen Sie
das Gleichungssystem, indem sie zuerst die Erweiterte Matrix (die b als zusätzliche Spalte enthält) bilden
und diese Matrix dann in Normalform bringen.
à Kapitel 7: Gleichungen und Gleichungssysteme
7.1
Wie ersetzt man in einem algebraischen Ausdruck alle x durch
7.3
Wie kann man die Lösungsmenge einer Gleichung mit zwei Unbekannten graphisch darstellen?
7.2
1 - t2 ?
Wie löst man polynomiale Gleichungen bzw. Gleichungssysteme a) exakt, b) numerisch?
7.4
Wie geht man vor, wenn man die berechneten Lösungen einer Gleichung zur Probe in die
Gleichung einsetzen will?
7.5
Angenommen, bei der Lösung einer Gleichung ergeben sich zwei Lösungen. Wie kann man diese
den Variablen x1 und x2 zuweisen?
7.6
Mit welcher Art von Ergebnis muss man in der Regel rechnen, wenn man mit Solve algebraische
Gleichungen fünften oder höheren Grades löst?
7.7
Finden Sie die (reellen wie auch komplexen) Schnittpunkte des Kreises k : x2 + y2 = 1 mit der
kubischen Kurve x3 + x y2 - 3 x + x y = 3 im 2 . Das Ergebnis soll eine Liste mit den Schnittpunkten sein.
7.8
Wie lassen sich aus einer Liste von Punkten im 2 jene mit reellen Koordinaten (also Punkte im
2 ) auswählen? Macht es einen Unterschied, ob die Punkte exakt oder gerundet gegeben sind?
7.9
7.10
Mit wie vielen Lösungen muss man beim Lösen eines polynomialen Gleichungssystems rechnen?
Was ist das Ergebnis von
fragen.nb
7
Ia2 + 3 a + 5 cM ê. 98a → d, c → 2<, 85 → 2<, 9x_ 2 → Sin@xD, c → f==
7.11 Wie löst man nicht-polynomiale Gleichungen bzw. Gleichungssysteme numerisch? Wie kann man
geeignete Startwerte finden?
7.12
7.13
Vergleichen Sie Solve und FindRoot. Was sind die Vor- und Nachteile der beiden Funktionen?
Die Befehle Solve, NSolve und Reduce werden genau gleich aufgerufen. Wie unterscheidet sich
ihr Ergebnis?
7.14 Die Eigenwerte einer quadratischen Matrix M sind definiert als die Nullstellen der Determinante
von M - l I , wobei I die Einheitsmatrix ist (Diese Determinante ist ja ein Polynom in l).
Schreiben Sie eine Funktion, die die Eigenwerte in einer Liste zurückliefert.
Herunterladen