3 Skripte und Plots. 3.1 Skripte in MATLAB. 3.2 Zweidimensionale Plots

Größe: px
Ab Seite anzeigen:

Download "3 Skripte und Plots. 3.1 Skripte in MATLAB. 3.2 Zweidimensionale Plots"

Transkript

1 3 Skripte und Plots 3.1 Skripte in MATLAB Skripte sind in MATLAB eine Ansammlung von Befehlen, die man auch so in der Kommandozeile eingeben könnte, in einer Datei. Diese können durch Aufruf eines Befehls so ausgeführt werden. Erstellt man etwa eine Datei test.m im aktuellen Verzeichnis mit folgem Inhalt: % Zeichnet einen Graphen I = 0 : 0.1 : 10; f = cos(i).* I; g = sin(i).* I; plot(f, g) und gibt dann in der Kommandozeile test ein, so wird ein Plot mit einer Spirale erzeugt. (Warum diese Befehle genau diesen Plot erzeugen, schauen wir uns gleich genauer an.) Um die Datei zu erzeugen, klickt man in der Toolbar den Neues-Skript-Button an, der sich ganz links befindet. Dann öffnet sich das Editorfenster, in dem man die obigen Befehle eingeben kann. Dies kann man speichern, etwa unter dem Namen test.m, in dem man in der Toolbar des Editor-Fenster auf das Disketten-Symbol klickt, oder im Menü File den Befehl Save auswählt. Das Editorfenster mit dem von diesen Zeilen erzeugtem Graph sieht so aus: Der Screenshot zeigt auch, wie man Kommentare schreibt: alles nach einem Prozentzeichen % wird ignoriert. Falls in der ersten Zeile in einem Skript ein Kommentar anfängt, wird dieser in der Schnellansicht unten links im MATLAB-Fenster angezeigt, wenn die.m-datei vom Skript in der Dateiauswahl ausgewählt ist. Er wird ebenfalls angezeigt, wenn man in der Kommandozeile help Skriptname eingibt. Man kann das Skript auch direkt aus dem Editor ausführen, indem man im Editorfenster in der Toolbar auf das Symbol klickt. Mit dem, was wir bisher gemacht haben, benötigt man Skripte noch nicht so wirklich. Jedoch schon bei komplexeren Plots ist es hilfreich, die Befehle in einem Skript zu sammeln. Im nächsten Kapitel werden wir Kontrollstrukturen kennenlernen; diese machen in Skripten mehr Sinn, als wenn man sie direkt an der Kommandozeile eingibt. Aufgabe 3.1: Erzeuge das Skript test mit dem oben angegebenen Code. Speicher es und führe es aus, einmal aus dem Editor und einmal über die Kommandozeile. 3.2 Zweidimensionale Plots Der grundlege Befehl zum Zeichen von Plots ist der Befehl plot. Hat man etwa einen Vektor mit Funktionswerten, sagen wir v = [ ], so zeichnet plot(v) folges: 19

2 Die durchgezogene Linie befindet sich bei x = 1 bei v(1), bei x = 2 bei v(2), etc. Wenn man die x- Werte anders setzen will, muss man diese ebenfalls als Vektor angeben: ist w = [ ], oder kürzer w = 0 : 0.5 : 2, so ergibt plot(w, v) folges Ergebnis: Damit lassen sich schon viele Dinge machen. Möchte man etwa den Graphen der Sinus-Funktion von 0 bis 2π plotten, wobei man Zwischenschritte von 0.1 machen möchte, so schreibt man etwa: >> v = 0 : 0.1 : 2* pi; >> w = sin(v); >> plot(v, w) Hierbei macht man sich zunutze, dass die Funktion sin angewet auf eine Matrix komponentenweise ausgeführt wird. Das Ergebnis ist dann: Mit dem Plot-Befehl lassen sich auch ganz andere Dinge zeichnen, etwa eine parametrisierte Kurve v(t) = (f(t), g(t)), t I. Ist zum Beispiel f(t) = sin t, g(t) = cos t und I = [0, 2π], so kann man sich die Kurve mit 20

3 >> I = 0 : 0.1 : 2* pi; >> f = sin(i); g = cos(i); >> plot(f, g) anzeigen lassen. Das Ergebnis ist unten links dargestellt. Wenn man die Schrittweite gröber wählt, erkennt man, dass es sich um einen Streckenzug handelt. So liefert I = 0 : 0.5 : 2*pi mit ansonsten den gleichen Befehlen die rechte hier dargestellte Grafik: Wenn man genau hinschaut, so sieht man, dass der letzte Streckenzug fehlt. Das Problem ist hier, dass der letzte gezeichnete Punkt bei t = 6 liegt und nicht bei t = 2π Dies kann man verhindern, indem man die Schrittweite als Differenz von End- und Startpunkt geteilt durch eine ganze Zahl wählt, etwa wenn man I per I = 0 : 2*pi/100 : 2*pi erzeugt. Noch einfacherer ist es jedoch, anstelle des Doppelpunkt-Operators die MATLAB-Funktion linspace zu verwen. Schreibt man etwa linspace(0, 2*pi, 100), so erzeugt dies einen Zeilenvektor mit 100 Einträgen, der erste davon 0 und der letzte 2π, und die restlichen gleichmässig dazwischen verteilt. Aufgabe 3.2: Plotte die folgen Funktionen und parametrisierten Kurven: 1. f(x) = x 2 1; 2. f(x) = tan sin x; 3. γ(t) = (sin t cos t, cos t sin t) für t [0, 2π]; 4. γ(t) = (t 2, t 3 ) für t R. Eine weitere Möglichkeit, zweidimensionale Plots zu zeichnen, besteht in der Verwung eindimensionaler Vektoren mit komplexen Zahlen. Ruft man plot(v) auf und enthält v mindestens eine echt komplexe Zahl, so bewirkt plot(v) das gleiche wie plot(real(v), imag(v)). Damit lässt sich zum Beispiel die Spirale f : [0, ) C, t exp((i 1)t) per zeichnen: plot(exp((i-1)*(0 : : 100))) 21

4 Sobald ein Plot erzeugt wurde, lassen sich Titel und Beschriftung der Achsen festlegen: >> xlabel ( reelle Achse ) >> ylabel ( imaginaere Achse ) >> title ( Eine tolle Spirale, FontSize, 12) Dies ergibt dann: Aufgabe 3.3: Gebe help plot ein, um den Hilfetext des plot-befehls zu erhalten. Erzeuge damit die folgen Plots: 1. die Funktion f : [ 1, 1] R, x x mit roter gestrichelter Linie; 2. die Funktion f s : [ 1, 1] R, x (x/s) 2 für die Werte s { 1, 0.5, 0.5, 1} in verschiedenen Farben im gleichen Plot; 3. die Funktion f : [0, 1] R, x sin(2πx), wobei keine Linie dargestellt werden soll, sondern die Funktionswerte als kleine Kreise an den Stellen x = n 10, n = 0, 1,..., das gleiche wie bei 2., mit dem Unterschied dass eine Lege vorhanden ist, die den verschiedenen Farben die Werte von s zuordnen. Benutze dafür den Befehl leg (informiere dich erst in der Hilfe, wie dieser funktioniert). Ein praktischer Befehl ist noch der hold-befehl: er erlaubt das Erweitern eines bereits erzeugten Plots um weitere Plots. Dies kann etwa so genutzt werden: >> plot( sin (0 : 0.1 : 10)) >> hold on >> plot( cos (0 : 0.1 : 10)) >> plot( sin (0 : 0.1 : 10) + cos (0 : 0.1 : 10)) >> hold off Dies zeichnet die drei Funktionen sin(x), cos(x) und sin(x) + cos(x) in einen Graphen ein. Ein weiterer Befehl ist der axis-befehl. Er erlaubt, die Grenzen der Achsen selbst festzulegen. Details hierzu finden sich in der Online-Hilfe. Aufgabe 3.4: Stelle die ersten fünf Newton-Iteration der Funktion f(x) = x 5 4x 2 + 3x 2 mit dem Startwert x 0 = 3 graphisch da, indem du zu jedem Paar (x n, f(x n )), n = 0,..., 5 einen Punkt in den Plot der Funktion einzeichnest zusammen mit einer Tangente an f in diesem Punkt. Verwe Achsenbeschriftungen, den hold-befehl und eine Lege, um die Ausgabe ansprech und verständlich zu gestalten. 3.3 Dreidimensionale Plots Es gibt mehrere Wege, zweidimensionale Funktionen R 2 R (bzw. dreidimensionale Daten) darzustellen. Eine Möglichkeit ist, diese als Konturen- oder Farbplot darzustellen. Es gibt zum Beispiel 22

5 in MATLAB die Funktion peaks, welche durch (x, y) 3(1 x) 2 exp( x 2 (y + 1) 2 ) 10( 1 5 x x3 y 5 ) exp( x 2 y 2 ) 1 3 exp( (x + 1)2 y 2 ) definiert ist. Die Befehle contour(peaks) und pcolor(peaks) liefern folge Grafiken: Eine zweite Möglichkeit, zweidimensionale Funktionen darzustellen, sind 3D-Drahtgitterplots und Flächenplots. Die Befehle mesh(peaks) und surf(peaks) liefern folge Grafiken: Man kann auch genauso wie bei zweidimensionalen Plots rohe Daten dreidimensional darstellen. Hat man etwa eine Matrix wie A = randn(20, 20) * 0.5, so erzeugen mesh(a) und surf(a) folge Grafiken: Um Graphen von Funktionen erstellen zu können, ist der meshgrid-befehl praktisch. Hat man einen Vektor x der x-koordinaten (der Länge n) und einen Vektor y der y-koordinaten (der Länge 23

6 m), so erzeugt [X,Y] = meshgrid(x, y) zwei Matrizen X und Y vom Format n m, so dass jede Zeile von X den Zeilenvektor x, und jede Spalte von Y den Spaltenvektor y enthält. Zum Beispiel liefert [X,Y] = meshgrid(0 : 1 : 2, 5 : 1 : 6) die Matrizen X = ( 0 1 ) und Y = ( 5 5 ) zurück. Gibt man nur einen Vektor an, etwa bei meshgrid(v), so bewirkt dies das gleiche wie meshgrid(v, v). Wenn man nun die Funktion (x, y) sin x + cos xy plotten möchte im Bereich [ 2, 2] [ 2, 2], kann man zuerst X und Y durch [X,Y] = meshgrid(-2 : 0.1 : 2) erzeugen, dann die Funktionswerte-Matrix Z durch Z = sin(x) + cos(x.* Y), und schliesslich das ganze mittels dem Befehl mesh(x, Y, Z) plotten. Das ergibt dann Aufgabe 3.5: dar: Stelle folge Funktionen f : R 2 R auf verschiedene Art und Weisen graphisch 1. f(x, y) = x 2 y 2 2. f(x, y) = sin x 2 +y 2 ; x 2 +y 2 3. f(x, y) = 1 x 2 +y 2 ; die letzten beiden Funktionen haben in (x, y) = (0, 0) einen Pol. Wie kann man Probleme beim Erzeugen des Wertefeldes und dem Plotten umgehen? Bisherige Lernziele Wissen wie man Skripte in MATLAB schreibt, ausführt und mit Kommentaren versieht Verstehen, wie Plots von eindimensionalen Funktionen und parametrisierten Kurven im R 2 geplottet werden können Verstehen, wie dreidimensionale Plots funktionieren und wie Wertetabellen dafür mit meshgrid erstellt werden können 24

7 4 Kontrollkonstrukte und Schleifen Bisher haben wir einfache Befehle kennengelernt: Ausdrücke, Zuweisungen, und Skripte, die Plots erzeugen. Damit war es bisher nicht möglich, sonderlich viel zu machen. In einigen Aufgaben haben wir gesehen, dass Schleifen oder Abfragen zwar teilweise durch Matrixoperationen oder geschickte Ausdrücke ersetzt werden können, jedoch waren wir oft gezwungen, Befehle zu replizieren oder je nach Iteration von Hand auszuwählen, welche Befehle ausgeführt werden oder nicht. Kontrollkonstrukte erlauben, nach bestimmten Bedingungen gewisse Befehle auszuführen oder nicht auszuführen. 4.1 Kontrollkonstrukte Das grundlegenste Kontrollkonstrukt ist die if-anweisung. Das folge Beispiel verdeutlicht, wie sie funktioniert: if < Ausdruck 1> < Befehle 1> elseif < Ausdruck 2 > < Befehle 2> else < Befehle 3> Zuerst wird hier der Ausdruck <Ausdruck 1> ausgewertet. Ergibt er 1 (logical, also irgetwas 0), werden <Befehle 1> ausgeführt. Falls er 0 (logical) ergibt, wird <Ausdruck 2> ausgewertet. Ergibt dieser 1 (logical, also 0), so werden <Befehle 2> ausgewertet. Andernfalls werden <Befehle 3> ausgeführt. Die if-anweisung ist modular: es können beliebig viele elseif-zweige elseif < Ausdruck > eingefügt werden, es kann auch kein einziger solcher Zweig verwet werden. Der else-zweig else kann ebenfalls weggelassen werden. Falls er vorkommt, muss er immer zum Schluss kommen (als letzter Block vor dem ) und er darf nicht mehrmals vorkommen. Falsch: if < Ausdruck > else else Falsch: if < Ausdruck > else elseif < Ausdruck > Richtig: if < Ausdruck > if < Ausdruck > else Aufgabe 4.1: Schreibe ein Skript, welches davon ausgeht, dass eine Variable x eine double-zahl ist. Das Skript soll folges ausgeben: 1. ob die Zahl negativ, gleich 0 oder positiv ist; 2. ob die Zahl im Intervall [0, 1] liegt oder nicht; 3. ob die Zahl gleich -10 ist oder nicht. Spezialfälle wie ±Inf und NaN können ignoriert werden. 25

8 Aufgabe 4.2: Schreibe eine if-abfrage für das Bisektionsverfahren aus Aufgabe 2.7. Diese soll davon ausgehen, dass x1 und x2 gegeben sind mit x1 < x2 und cos(x1) * cos(x2) < 0 (es ist also wieder f(x) = cos x). Diese soll x3 wie in Aufgabe 2.7 wählen und entweder x1 oder x2 durch den Wert von x3 ersetzen. Schreibe diese if-abfrage in ein Skript namens bisect, setze x1 = 1 und x2 = 2, und führe das Skript zehnmal aus. Dann gilt abs(x2 - x1) = 2^(-10), d.h. die Nullstelle von cos x in [1, 2] (es gibt genau eine) ist dadurch bis auf eine Genauigkeit von 2 10 < 10 3 bestimmt. Eine weitere Kontrollkonstruktion ist die switch-anweisung. Diese funktioniert so: switch < Ausdruck > case <Wert 1> < Befehle 1> case <Wert 2> < Befehle 2> case <Wert 3> < Befehle 3> otherwise < Befehle 4> Dies bewirkt, dass der Ausdruck <Ausdruck> ausgewertet wird. Ist der Ausdruck gleich <Wert 1>, so werden <Befehle 1> ausgeführt. Ist der Ausdruck gleich <Wert 2>, so werden <Befehle 2> ausgeführt. Ist der Ausdruck gleich <Wert 3>, so werden <Befehle 3> ausgeführt. Ansonsten, falls der Ausdruck keinem der drei Werte entspricht, werden <Befehle 4> ausgeführt. Es können beliebig viele case-zweige benutzt werden, und der otherwise-zweig kann weggelassen werden. (In dem Fall passiert nichts, wenn der Ausdruck ungleich allen spezifizierten Werten ist.) Es ist auch möglich, einfach nur switch < Ausdruck > zu schreiben. In diesem Fall wird der Ausdruck ausgewertet (und etwa Funktionen, die im Ausdruck vorkommen, aufgerufen) und dann nichts gemacht. Dies ändert den Wert der Variablen ans nicht. Die switch-anweisung macht dann Sinn, wenn ein Ausdruck einmal ausgewertet und mit einer festen Anzahl von Werten verglichen werden soll. Sollen dagegen Ungleichungen geprüft werden, muss man auf if-anweisungen zurückgreifen. Aufgabe 4.3: Die Funktion rem(n, m) liefert den (nichtnegativen) Rest von n bei Division durch m. Der Rest hat das selbe Vorzeichen wie n, und hierbei müssen weder n noch m ganze Zahlen sein. Weiterhin kann mit dem disp-befehl der Wert einer Variablen oder Zeichenkette ausgegeben werden. Schreibe damit ein Skript, welches testet, ob die Variable x eine ganze Zahl ist, und wenn ja, den Rest bei Division modulo 3 ausgibt. Dies soll über eine switch-anweisung erfolgen. Bei einer Eingabe von 5 soll etwa 2 ausgegeben werden (da 5 = x für ein passes x Z), und bei einer Eingabe von soll Keine ganze Zahl ausgegeben werden. 4.2 Schleifen Schleifen erlauben die wiederholte Ausführung von Befehlen. In MATLAB gibt es zwei Arten von Schleifen: for-schleifen und while-schleifen. Währ for-schleifen eine vorher festgelegte Anzahl durchlaufen werden, sind while-schleifen in dieser Hinsicht dynamisch, da sie solange ausgeführt werden, bis eine beliebige, vorher festgelegte Bedingung nicht mehr gilt. Eine for-schleife funktioniert wie folgt: for < Variable > = < Vektor > Die Variable <Variable> nimmt alle Werte der Reihe nach an, die im Vektor <Vektor> stehen, und führt für jeden Wert <Befehle> aus. Etwa ergibt 26

9 for n = [1 4 1] n die Ausgabe n = 1 n = 4 n = 1 Es bietet sich an, für die Erzeugung des Vektors den :-Operator zu nutzen. Um etwa mit n die Zahlen 2, 3, 4, 5, 6 zu durchlaufen, schreibt man for n = 2 : 6 Um die Zahlen 2, 2.5, 3, 3.5,..., 6 zu durchlaufen, schreibt man stattdessen for n = 2 : 0.5 : 6 In den meisten MATLAB-Programmen wird der :-Operator bei for-schleifen benutzt; dies ist jedoch, wie oben demonstriert, nicht notwig. Aufgabe 4.4: Erweitere das Skript bisekt von oben (Aufgabe 4.2), um die Nullstelle von cos x in [1, 2] mit einer Genauigkeit von 2 50 zu bestimmen. Der bisherige Inhalt vom Skript bisekt soll dabei erhalten bleiben, es muss davor und danach etwas eingefügt werden. In jedem Iterationsschritt sollen x1, x2 und x2 - x1 ausgegeben werden. Hinweis: verwe zur Ausgabe den fprintf-befehl: fprintf ( %0.20d, %0.20d, %0.20 d\n, x1, x2, x2 - x1) Aufgabe 4.5: In dieser Aufgabe soll π mit Hilfe einer Monte-Carlo-Methode approximiert werden. Dazu wählt man erst eine Anzahl Iterationen, sagen wir n, und setzt einen Zähler T auf 0. Dann wird n-mal zufällig (gleichverteilt) ein Punkt (x, y) [ 1, 1] 2 gewählt und die euklidische Norm von (x, y) bestimmt (also x 2 + y 2 ). Ist diese 1, so wird der Zähler T erhöht. Wenn n gross genug ist, nimmt der Kreis mit Radius 1 im Quadrat [ 1, 1] [ 1, 1] in etwa T n der Fläche ein, womit π 4 T n ist. Schreibe ein Skript montecarlopi, welches voraussetzt, dass n vorher gesetzt wurde, und π mit n Monte-Carlo-Iterationsschritten approximiert. Führe das Skript mehrmals für n = 1000, n = und n = aus. Was kannst du über die Genauigkeit sagen? Allgemein kann in MATLAB mit format long die Ausgabe von Zahlen in der Kommandozeile auf ein längeres Format mit mehr Dezimalziffern eingestellt werden. In der Aufgabe wird die Genauigkeit der Ausgabe im fprintf-befehl auf 20 Nachkommastellen für jede Zahl eingestellt. Die zweite Möglichkeit, Schleifen in MATLAB zu schreiben, funktioniert mit der while-anweisung. Diese funktioniert so: while < Ausdruck > Solange der Ausdruck <Ausdruck> wahr ist (also 0), werden <Befehle> ausgeführt. Folge zwei Programme geben jeweils die Zahlen von 1 bis 10 aus: 27

10 for k = 1 : 10 disp(k) k = 1 while k <= 10 disp(k) k = k + 1 Wie man sieht, ist eine for-schleife hierfür besser geeignet. Es gibt jedoch auch Fälle, in denen die Anzahl der Iterationen vor der Schleife noch nicht feststehen. Ein Beispiel dafür ist diese Aufgabe: Aufgabe 4.6: Schreibe ein Skript, welches mit dem Newton-Verfahren (vergleiche Aufgabe 2.6) eine Nullstelle von f(x) = x 10 5x 6 + 2x 3 x 15 approximiert. Die Iteration soll solange durchgeführt werden, bis f(x n ) gilt. Der Startwert sei x 0 = 0. Aufgabe 4.7: Schreibe ein Programm, welches einen Parameter fehler (positiver Wert) annimmt und untersucht, wie gross man n mindestens wählen muss, damit n 1 k 2 π2 6 fehler k=1 ist. Damit keine Probleme mit der Maschinengenauigkeit auftreten, gehe wie folgt vor: setze eine Variable A auf π2 6. Dann ziehe 1 1 ab und schaue ob A <= fehler ist. Wenn nicht, ziehe ab und 2 schaue wieder, ob A <= fehler ist. Wenn nicht, ziehe 1 3 ab, usw. 2 Untersuche, wie gross du n mindestens wählen muss, damit der Fehler kleiner 10 1, 10 2 und 10 3 ist. Im Zusammenhang mit Schleifen gibt es noch zwei Kontrollanweisungen: continue und break. Wird continue in einer Schleife aufgerufen, so wird sofort die nächste Iteration der Schleife eingeleitet (soweit möglich) und die aktuelle Iteration abgebrochen. Wird break aufgerufen, so wird die vollständige Schleife abgebrochen. Der break-befehl ist etwa beim Bisektionsverfahren praktisch: falls f(x3) == 0 ist, soll die Ausführung der Schleife sofort abgebrochen werden und x3 als Nullstelle ausgegeben werden. Der continue-befehl kann etwa benutzt werden, um zufällig Punkte zu erzeugen, die in dem Einheitskreis in der Ebene liegen. Das folge Skript erzeugt 10 solche Punkte: n = 10; while n > 0 x = rand; y = rand; if x^2 + y^2 > 1 continue fprintf ( (%0.20 d, %0.20 d)\n, x, y) n = n - 1; Alternativ hätte man auch ohne die continue-anweisung schreiben können: n = 10; while n > 0 x = rand; y = rand; if x^2 + y^2 <= 1 fprintf ( (%0.20 d, %0.20 d)\n, x, y) n = n - 1; In diesem Fall sind beide Varianten gleich lang, je nach Schleife kann jedoch die Variante mit oder ohne continue besser lesbar und/oder kürzer sein. 28

11 4.3 Benutzen des Debuggers Beim Programmieren treten leicht Fehler auf. Sobald man einen Fehler bemerkt hat, ist es oft nicht einfach, dessen Ursache zu identifizieren oder sie sogar zu beheben. Ein wichtiges Hilfsmittel bei der Fehleridentifikation ist der Debugger. Er erlaubt, die Ausführung eines Programms mitzuverfolgen, bei Bedarf zu unterbrechen, Variablen zu inspizieren und sogar zu verändern. Wir wollen dies an mehreren Beispielen betrachten. Zuerst folges, einfaches Skript: n = 10; % Erzeuge n Zufallszahlen in [0, 1] und sortiere diese aufsteig A = rand(n, 1); for k = 1 : n % finde das kleinste Element in den hinteren n- k +1 Elementen kli = k; kl = A(k); for l = k + 1 : n if A(l) < kl kli = l; kl = A(l); % verschiebe das kleinste Element an die k- te Stelle for l = k : kli A(l + 1) = A(l); A(k) = kl; Wenn man es ausführt und A ausgeben lässt, erhält man eine Ausgabe wie (Die Ausgabe erfolgt nur deshalb nicht in einer, sondern in drei Spalten, damit etwas weniger Platz verbraucht wird.) Dies ist tatsächlich aufsteig. Allerdings ist es sehr, sehr unwahrscheinlich, dass von zehn zufällig in [0, 1] erzeugten Zahlen neun gleich sind. Irgetwas stimmt also nicht. Um den Fehler zu finden, wollen wir den Debugger verwen. Zuerst setzen wir einen Breakpoint in Zeile 3, in der die Zufallszahlen erzeugt werden. Dazu klicken wir im Editor am linken Rand in die Spalte rechts neben der Spalte mit den Zeilennummern. Dort befindet sich vorher ein Strich - ; dieser besagt, dass sich in dieser Zeile ein Befehl befindet. An der Stelle des Strichs erscheint nun ein roter Punkt. Wenn man das Skript nun ausführt (auf in der Toolbar klicken), wird die Ausführung an dieser Stelle unterbrochen. Im Editor erscheint neben dem roten Punkt ein grüner Pfeil, der anzeigt, dass als nächstes diese Zeile ausgeführt wird. Das sieht in etwa so aus: 29

12 Im Workspace Browser kann man bisher nur die Variable n sehen, die den Wert 10 hat. Nun kann man diese eine Zeile ausführen, indem man auf den Step-Button in der Toolbar klickt (drei Buttons neben dem Ausführen-Button), oder indem man F10 drückt. Nun erscheint im Workspace Browser auch die Variable A, und wenn man diese im Variable Editor inspiziert, sieht man, dass diese nicht aufsteig sortiert sind. Drückt man drei weitere Male F10, so befindet man sich in Zeile 8, am Anfang der inneren Schleife. Die Variable k hat den Wert 1, kl (bisher kleinster Wert) den Wert A(1) und kli (Index des bisher kleinsten Wertes) ist ebenfalls 1. Man kann nun so lange F10 drücken, bis man das Ende der inneren Schleife erreicht hat, oder alternativ einen weiteren Breakpoint setzen (in Zeile 15) und das Programm mit F5 (oder dem Continue-Button, drei Buttons rechts vom Step-Button in der Toolbar) bis zum Breakpoint laufen lassen. Das kann dann etwa so aussehen: Der Cursor befindet sich gerade hinter dem kli in Zeile 15; deswegen wird jedes Vorkommen der Variable kli im Editor markiert. Weiterhin kann an sich den Wert einer Variable auch anzeigen lassen, wenn man die Maus über die Variable schiebt und dort kurz ruhen lässt. Dann wird Typ, Format und Wert der Variable in einem kleinen Fenster (Tooltip) angezeigt. Hier wurde nun ermittelt, dass der kleinste Wert an der sechsten Stelle steht (da kli == 6 ist). Die nächste Schleife sowie die nachfolge Zuweisung soll diesen Wert nun an die erste Stelle schieben. Wenn man nun mit F10 ein paar Iterationen der Schleife durchlaufen lässt, sieht man im Variable Editor gleich das Problem: der erste Wert im Array überschreibt alle anderen: Dies liegt offenbar daran, dass die Schleife in der falschen Reihenfolge durchlaufen wird! Damit dies richtig funktioniert, muss mit dem grössten Index angefangen werden und mit dem kleinsten aufgehört werden. Statt for l = k : kli sollte man also for l = kli : -1 : k schreiben. Man kann dies nun im Editor ändern und alle Breakpoints löschen, indem man sie entweder nochmal anklickt oder indem man in der Toolbar auf den Clear-Breakpoints-Button klickt (der Button links vom Step-Button). Schliesslich muss man den Debug-Mode been, indem man etwa auf den Exit-Debug-Mode-Button klickt (rechts vom Continue-Button; oder Shift+F5 drücken). Nun kann man die Änderung auch speichern und das Skript nochmal ausführen. Das Ergebnis ist jedoch immer noch nicht befriedig. Man kann zum Beispiel für A folges erhalten: 30

13 Aufgabe 4.8: Finde mit Hilfe des Debuggers heraus, was schiefgeht! Das Programm kann auf der Vorlesungshomepage als Text-Datei fehlersuche-1.txt heruntergeladen werden. Bisherige Lernziele Wissen, wie das if- und das switch-konstrukt funktionieren Verstehen von Schleifenkonstrukten mit for und while Wissen, wie damit Iterationen (wie etwa im Newton- oder Bisektionsverfahren) automatisiert werden können Wissen, was der Debugger ist und wie man ihn verwen kann, um den Ablauf eines Programmes mitzuverfolgen 31

Einführung in MATLAB zur Veranstaltung Einführung in die Numerik

Einführung in MATLAB zur Veranstaltung Einführung in die Numerik Einführung in MATLAB zur Veranstaltung Einführung in die Numerik Christian Stohrer Mathematisches Institut der Universität Basel FS 2011 MATLAB Einführung zur Veranstaltung Einführung in die Numerik Bitte

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

Quadrieren Sie die Zahlen 3, pi, 1 und i mit Hilfe des Operators ^ und ziehen Sie aus den Ergebnissen jeweils die Wurzel.

Quadrieren Sie die Zahlen 3, pi, 1 und i mit Hilfe des Operators ^ und ziehen Sie aus den Ergebnissen jeweils die Wurzel. MATLAB Aufgaben Aufgabe 1: Starten Sie Matlab. Stellen Sie über die Menüleiste (Desktop => Desktop Layout => Default) den Grundzustand wieder her (falls nicht schon vorhanden). Machen Sie sich mit der

Mehr

Matlab Einführung Einführung in die Neuroinformatik SS 12. Miriam Schmidt Institut für Neuroinformatik Email: miriam.k.schmidt@uni-ulm.

Matlab Einführung Einführung in die Neuroinformatik SS 12. Miriam Schmidt Institut für Neuroinformatik Email: miriam.k.schmidt@uni-ulm. Matlab Einführung Einführung in die Neuroinformatik SS 12 Miriam Schmidt Institut für Neuroinformatik Email: miriam.k.schmidt@uni-ulm.de Was ist Matlab? Matlab ist die Abkürzung für Matrix Laboratory.

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

Matlab Einführung Theorie Neuronaler Netze WS 11/12. Miriam Schmidt Institut für Neuroinformatik Email: miriam.k.schmidt@uni-ulm.

Matlab Einführung Theorie Neuronaler Netze WS 11/12. Miriam Schmidt Institut für Neuroinformatik Email: miriam.k.schmidt@uni-ulm. Matlab Einführung Theorie Neuronaler Netze WS 11/12 Miriam Schmidt Institut für Neuroinformatik Email: miriam.k.schmidt@uni-ulm.de Was ist Matlab? Matlab ist die Abkürzung für Matrix Laboratory. ist ein

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen V14 1 / 30 Informationsverarbeitung im Bauwesen Markus Uhlmann Institut für Hydromechanik WS 2009/2010 Bemerkung: Verweise auf zusätzliche Information zum Download erscheinen in dieser Farbe V14 2 / 30

Mehr

Programmierkurs Matlab

Programmierkurs Matlab Programmierkurs Matlab Felix Fontein Februar 2011 Inhaltsverzeichnis 1 Einleitung 1 1.1 Ziel des Kurses...................................... 1 1.2 Wie funktioniert ein Computer?.............................

Mehr

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

Übung 4: Einführung in die Programmierung mit MATLAB Übung 4: Einführung in die Programmierung mit MATLAB AUFGABE 1 Was bewirkt der Strichpunkt? - Der Strichpunkt (Semikola) unterdrück die Anzeige der (Zwischen-) Resultate. Welche Rolle spielt ans? - Wenn

Mehr

MATLAB: Kapitel 2 Grafiken

MATLAB: Kapitel 2 Grafiken MTLB: Kapitel Grafiken MTLB verfügt über eine nahezu unüberschaubare nzahl von Möglichkeiten Grafiken zu erzeugen formatieren oder animieren. In diesem Kapitel werden wir die grundlegenden Werkzeuge für

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

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Termin 4: Programmieren in MATLAB

Termin 4: Programmieren in MATLAB Termin 4: Programmieren in MATLAB Währ dieses Termins werden Sie die Gelegenheit haben, sich am PC in die Grundlagen der Programmierung in MATLAB einzuarbeiten. Sie werden zwei mögliche Programmformen

Mehr

Eine kurze Einführung in scilab

Eine kurze Einführung in scilab Eine kurze Einführung in scilab 1.5 1 0.5 0 0.5 1 1.5 1.5 1 0.5 0 0.5 1 von Dr. Werner E. Schabert April 2009 Version 3.1 Universität Augsburg Inhaltsverzeichnis 1 Rechenoperationen und mathematische

Mehr

Tag 9: Datenstrukturen

Tag 9: Datenstrukturen Tag 9: Datenstrukturen A) Datenstrukturen B) Cell Arrays C) Anwendungsbeispiel: Stimulation in einem psychophysikalischen Experiment A) Datenstrukturen Wenn man komplizierte Datenmengen verwalten möchte,

Mehr

INTELLIGENTE DATENANALYSE IN MATLAB

INTELLIGENTE DATENANALYSE IN MATLAB INTELLIGENTE DATENANALYSE IN MATLAB Einführung in MATLAB Überblick Was ist MATLAB? Abkürzung für matrix laboratory. Reines Numerikprogramm für das Rechnen mit großen Zahlenfeldern (arrays) bzw. Matrizen.

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

10:Exkurs MATLAB / Octave

10:Exkurs MATLAB / Octave 10:Exkurs MATLAB / Octave MATLAB (bzw. Octave als freie Version) ist eine numerische Berechnungsumgebung wurde vorrangig zum Rechnen mit Vektoren und Matrizen entworfen ist interaktiv benutzbar, vergleichbar

Mehr

3 Kurzeinführung in Matlab

3 Kurzeinführung in Matlab 3 Kurzeinführung in Matlab Matlab ist ein sehr leistungsfähiges interaktives Programmpaket für numerische Berechnungen. Nutzen Sie dies parallel zu den Vorlesungen. Sie können damit persönlich erfahren,

Mehr

De Taschäräschnr Casio (Reihe: 9750, 9850,...)

De Taschäräschnr Casio (Reihe: 9750, 9850,...) De Taschäräschnr Casio (Reihe: 9750, 9850,...) Übersicht: 1. Nullstellen 2. Gleichungen 2. oder 3. Grades lösen 3. Gleichungen lösen 4. Schnittpunkte bestimmen 5. Extrempunkte 6. Wendepunkte 7. Steigung

Mehr

MATLAB Onlinevorlesung. Dipl.-Inf. (FH) Patrick Rogge Seite 1

MATLAB Onlinevorlesung. Dipl.-Inf. (FH) Patrick Rogge Seite 1 MATLAB Onlinevorlesung Dipl.-Inf. (FH) Patrick Rogge Seite 1 MATLAB Onlinevorlesung Dipl.Inf. (FH) Patrick Rogge Schnorrstraße 56 01069 Dresden E-Mail: rogge@htw-dresden.de Telefon: 0351 / 462-2389 Internet:

Mehr

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral

Mehr

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

Computergrundkenntnisse und Programmieren, WS 11/12, Übung 7: Grafik Computergrundkenntnisse und Programmieren, WS 11/12, Übung 7: Grafik Christof Gattringer (christof.gattringer@uni-graz.at) 1 // Programm zum Testen von Xwindows 2 // Kompilieren 32 bit: g++ -L/usr/lib

Mehr

Eine Einführung zum numerischen Programmieren mit Matlab

Eine Einführung zum numerischen Programmieren mit Matlab Eine Einführung zum numerischen Programmieren mit Matlab Bastian Gross Universität Trier 11. April 2011 Bastian Gross Matlab Kurs 1/31 Inhaltsverzeichnis 1 Beginn und erste Schritte Matlab-Umgebung 2 Variablen

Mehr

Steuern des GSR-Interface mit QBasic

Steuern des GSR-Interface mit QBasic Steuern des GSR-Interface mit QBasic Erstellt von Jochen Sendler, Geschwister-Scholl-Realschule Mannheim Inhaltsverzeichnis 1. Die Programmiersprache QBasic 3 2. Starten von QBasic 3 3. Ansteuern einzelner

Mehr

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

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung. Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung. Die heutige Sitzung dient dem ersten Kennenlernen von MATLAB. Wir wollen MATLAB zuerst

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

Kurzeinführung in GNUPLOT

Kurzeinführung in GNUPLOT Kurzeinführung in GNUPLOT Johannes Schneider 9.12.2004 1 Einführung Gnuplot verfügt über ein gutes Hilfe-System: help Kommando Es ist ein sehr einfaches Programm, mit dem sich leicht Funktionen oder Daten

Mehr

Matlab - eine kurze Einführung

Matlab - eine kurze Einführung Matlab - eine kurze Einführung Helke Karen Hesse, Thomas Dunne helke.hesse@iwr.uni-heidelberg.de, thomas.dunne@iwr.uni-heidelberg.de 13.11.2006 1 / Gliederung Überblick Grundlegende Syntax Variablen Vektoren

Mehr

6 Graphische Darstellungen mit Matplotlib

6 Graphische Darstellungen mit Matplotlib 6 Graphische Darstellungen mit Matplotlib Matplotlib ist eine Bibliothek zur Erzeugung graphischer Darstellungen. In diesem Kapitel wird gezeigt, wie einfache 2D-Darstellungen zur Visualisierung von Daten

Mehr

Java-Tutorium WS 09/10

Java-Tutorium WS 09/10 Tutorial: Eclipse Debugger Was ist der Eclipse Debugger? Die Eclipse Plattform stellt einige sehr hilfreiche Features zum Programmieren bereit. Eines dieser Features ist der Debugger. Mithilfe des Debuggers

Mehr

Access 2010 Programmierung Schleifen

Access 2010 Programmierung Schleifen Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze

Mehr

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

Mehr

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

Einführung in MATLAB für Maschinenbauer im ersten Semester Einführung in MATLAB für Maschinenbauer im ersten Semester Autor: Dr. Christian Karpfinger et al. Stand: 5. Dezember 2015 Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis 1 Grundlagen 3 1.1 Die

Mehr

4 Schleifen -= Entstanden unter Excel 2003 =-

4 Schleifen -= Entstanden unter Excel 2003 =- Excel KnowHow / Visual Basic (VBA) 4 Schleifen -= Entstanden unter Excel 2003 =- Die erste Schleife habe ich bereits im letzten Kapitel benutzt: Die FOR-Schleife. Schauen wir uns das Beispiel noch einmal

Mehr

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009 Steuerung von Programmabläufen Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Sommersemester 2009 7. und 14. Mai 2009 For-Schleifen Bisher: Matlab -Kommandos

Mehr

Eine Einführung in. für mathematisch- technische Assistenten / Informatik (IHK)

Eine Einführung in. für mathematisch- technische Assistenten / Informatik (IHK) Eine Einführung in für mathematisch- technische Assistenten / Informatik (IHK) Autor: Michael Wiedau Version vom 30. August 2006 Inhaltsverzeichnis 1. Den Workspace wählen... 3 2. Ein neues Projekt erstellen...

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

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

1 Konsole öffnen. 2 matlab & und return eingeben. 3 Konsole dauerhaft geöffnet lassen. 1 Menüpunkt File - Exit MATLAB oder. 2 quit (und return) oder Grundleges Einführung in Matlab Christof Eck, Monika Schulz und Jan Mayer Matlab starten: 1 Konsole öffnen 2 matlab & und return eingeben 3 Konsole dauerhaft geöffnet lassen Matlab been: 1 Menüpunkt File

Mehr

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

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Webbasierte Programmierung

Webbasierte Programmierung Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 6: JavaScript Kontrollstrukturen Verzweigungen Einseitig, zweiseitig,

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Mathematischen Grundlagen und Notationen

Mathematischen Grundlagen und Notationen Mathematischen Grundlagen und Notationen Susanne Schimpf Juni 008 Es geht in dieser Lerneinheit darum, mathematische Notationen besser zu verstehen und auch selbst korrekt zu benutzen. Außerdem sollen

Mehr

Einführung in QtiPlot

Einführung in QtiPlot HUWagner und Julia Bek Einführung in QtiPlot 1/11 Einführung in QtiPlot Mit Bezug auf das Liebig-Lab Praktikum an der Ludwig-Maximilians-Universität München Bei Fragen und Fehlern: jubech@cup.lmu.de Inhaltsverzeichnis

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf

Mehr

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

Mehr

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager Homepage-Manager Navigation Home Der Homepage-Manager bietet die Möglichkeit im Startmenü unter dem Punkt Home einfach und schnell

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Matlab Praktikum - Tag 4

Matlab Praktikum - Tag 4 Wima Praktikum I Matlab Praktikum - Tag 4 Prof. Dr. Stefan Funken, Andreas Rupp Institut für Numerische Mathematik Sommersemester 2012 Page 2 Matlab Praktikum - Tag 4 Sommersemester 2012 Prof. Dr. Stefan

Mehr

Programmierkurs Matlab Musterlösungen zu den Aufgaben

Programmierkurs Matlab Musterlösungen zu den Aufgaben Programmierkurs Matlab Musterlösungen zu den Aufgaben Felix Fontein Februar 2011 Aufgabe 2.1: Bestimme für die folgenden Paare (op 1, op 2 ) von Operatoren, ob es ganzzahlige Konstanten (a 1, a 2, a 3

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen

Mehr

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

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)

Mehr

Herzlich Willkommen zur Informatik I. Programme in MATLAB. Funktionen schreiben im Matlab. Agenda

Herzlich Willkommen zur Informatik I. Programme in MATLAB. Funktionen schreiben im Matlab. Agenda Thema heute: Tipps & Tricks MATLAB programmieren Herzlich Willkommen zur Informatik I Aga Funktionen, Skripte,M-Files in MATLAB Programmierkonstrukte Komplexe Zahlen Pause Graphische Benutzeroberflächen

Mehr

Tipps und Tricks für Matlab

Tipps und Tricks für Matlab Tipps und Tricks für Matlab J. Schweitzer Sommersemester 2012 Inhalt Matlab als Taschenrechner Datenformate M-files Schleifen und Abfragen 2D Plots Matlab als Taschenrechner Prompt Elementare Rechnungen

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

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Tutorium für Fortgeschrittene

Tutorium für Fortgeschrittene Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

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

1 MAKROS AUFZEICHNEN. 1.1 Einführung

1 MAKROS AUFZEICHNEN. 1.1 Einführung Makro Aufzeichnen Makro + VBA 2010 effektiv 1 MAKROS AUFZEICHNEN 1.1 Einführung Sie können Excel sehr einfach automatisieren, indem Sie ein Makro aufzeichnen. Ähnlich wie bei einem Kassettenrecorder werden

Mehr

Hinweise zur Nutzung der EXCEL-Mappe FktPlot.xls

Hinweise zur Nutzung der EXCEL-Mappe FktPlot.xls Hinweise zur Nutzung der EXCEL-Mappe FktPlot.xls Die Mappe enthält Makros, ohne die sie nicht funktionsfähig ist. Die Sicherheitseinstellungen müssen entsprechend gewählt und die Ausführung von Makros

Mehr

PowerPoint: Text. Text

PowerPoint: Text. Text PowerPoint: Anders als in einem verarbeitungsprogramm steht in PowerPoint der Cursor nicht automatisch links oben auf einem Blatt in der ersten Zeile und wartet auf eingabe. kann hier vielmehr frei über

Mehr

Es geht um Graphen von Funktionen, Linien, Strecken, Dreiecke usw. Hier in 2D.

Es geht um Graphen von Funktionen, Linien, Strecken, Dreiecke usw. Hier in 2D. Wie 'malt' man mit Derive? Es geht um Graphen von Funktionen, Linien, Strecken, Dreiecke usw. Hier in D. #1: Zuerst Funktion definieren mit ':=' nicht mit '='! 4 3 x x #: f(x) - - x + x Zeile # anklicken

Mehr

Datei-Verarbeitung. Peter Sobe 60

Datei-Verarbeitung. Peter Sobe 60 Datei-Verarbeitung Eine Datei: ist ein benanntes Objekt im Dateisystem, ist eine lineare Anordnung einzelner Bytes, die geschrieben, bzw. gelesen werden können, kann vergrößert (Schreiben bzw. Anhängen),

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Übungsaufgaben zum Kapitel 1 1. Aufgabe In einer EXCEL Tabelle stehen folgende Zahlen: Definiere einen CommandButton, der diese

Mehr

MINT-Circle-Schülerakademie

MINT-Circle-Schülerakademie 1 Einführung MINT-Circle-Schülerakademie Kurze Einführung, was Maple ist, wozu es dienen kann, wo es verwendet wird. Zur Einführung die folgenden Aufgaben bearbeiten lassen. Aufgabe 1. Gib unter Maple

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

Wichtige Scilab-Befehle

Wichtige Scilab-Befehle Wichtige Scilab-Befehle In der Konsole (Hauptfenster) werden Befehle direkt eingegeben oder Programme ausgeführt, unter dem Editor (aufzurufen mittels edit bzw. des entsprechen Buttons in der Menüleiste)

Mehr

Jens Kappei. Vorlesung Numerische Basisverfahren 21./22.04.2010

Jens Kappei. Vorlesung Numerische Basisverfahren 21./22.04.2010 FB 12 Mathematik und Informatik Philipps-Universität Marburg Vorlesung Numerische Basisverfahren 21./22.04.2010 ... ist eine höhere Programmiersparche, ist eine Interpretersprache, kann interaktiv (wie

Mehr

Aufgabe 2: Anzahl Erdbeben als Funktion der Zeit

Aufgabe 2: Anzahl Erdbeben als Funktion der Zeit Übung 2 Analyse von Zeitreihen in der Umweltphysik und Geophysik 1 Aufgabe 2: Anzahl Erdbeben als Funktion der Zeit In dieser Übung wollen wir der Frage nachgehen, was war die Anzahl Erdbeben mit M>1 pro

Mehr

Tag 1: Einführung in Programmierung und Benutzung von Matlab

Tag 1: Einführung in Programmierung und Benutzung von Matlab Tag 1: Einführung in Programmierung und Benutzung von Matlab A) Die Matlab-Oberfläche und Matlab als Taschenrechner B) Vektoren und Matrizen C) Grafische Darstellung von Vektoren D) Hausaufgabe A) Die

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Rekonstruktion der SolarLog minxxxxxx.js-dateien aus Daten, die mit dem ELV-EM1010PC-System und meinen Makros erfasst wurden

Rekonstruktion der SolarLog minxxxxxx.js-dateien aus Daten, die mit dem ELV-EM1010PC-System und meinen Makros erfasst wurden Rekonstruktion der SolarLog minxxxxxx.js-dateien aus Daten, die mit dem ELV-EM1010PC-System und meinen Makros erfasst wurden Da ich meine PV-Anlage eher als einen SolarLog hatte, die Einspeisedaten aber

Mehr

MATLAB. im Rahmen der Vorlesung Digitale Bildverarbeitung

MATLAB. im Rahmen der Vorlesung Digitale Bildverarbeitung Einführung in MATLAB im Rahmen der Vorlesung Digitale Bildverarbeitung Susanne Winter Institut für Neuroinformatik Theoretische Biologie Sommersemester 2009 INHALTSVERZEICHNIS i Inhaltsverzeichnis 1 Einführung

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Python Programmieren. Variablen, Ausdrücke und Anweisungen

Python Programmieren. Variablen, Ausdrücke und Anweisungen Python Programmieren Funktionen Module und Namensräume Datentypen in Python Was noch zu sagen bleibt... richard rascher-friesenhausen Programmierung SS 12 Daten: Wert und Typ Variablen Variablennamen und

Mehr

12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element)

12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element) 12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element) Inhaltsverzeichnis 12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element) 1 12.1 Vorbereitungen......................................

Mehr

AplusixAdmin : Administration von Aplusix 3 Benutzerhandbuch

AplusixAdmin : Administration von Aplusix 3 Benutzerhandbuch 1. Einleitung AplusixAdmin : Administration von Aplusix 3 Benutzerhandbuch Mai 2011 Deutsche Übersetzung von Marion Göbel verfaßt mit epsilonwriter AplusixAdmin ist die Verwaltungssoftware von Aplusix.

Mehr

Vorübung 1 Beschriften Sie die Tabelle wie in der Abbildung dargestellt.

Vorübung 1 Beschriften Sie die Tabelle wie in der Abbildung dargestellt. Diese Anleitung führt in einige Grundfunktionen des Tabellenkalkulationsprogramms Microsoft Excel ein. Sie erstellen nach einigen Vorübungen mit Excel ein kleines Programm, das auf der Grundlage der Gesamtpunktzahl

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

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

Lua Grundlagen Einführung in die Lua Programmiersprache

Lua Grundlagen Einführung in die Lua Programmiersprache Lua Grundlagen Einführung in die Lua Programmiersprache 05.05.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Die Lua Programmiersprache Was ist Lua? freie Programmiersprache speziell

Mehr

Computer und Software 1

Computer und Software 1 omputer und oftware 1 hristof Köhler 7. aple Programmieren Folien: alint Aradi Details zu den Klausuren Die Klausuren finden am 11. bzw. 12. ärz statt. Die genaue Einteilung erfolgt nach dem 31. Januar

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

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

9.1 Eine Gleichung mit einer Unbekannten exakt lösen x Beispiel 1: Die Gleichung x 2 = 4 lösen. solve( x / (x 2) = 4, x ); 8 3 MAPLE_Mini_09_V1-0.doc 9-1 9 Gleichungen 9.1 Eine Gleichung mit einer Unbekannten exakt lösen x Beispiel 1: Die Gleichung x 2 = 4 lösen. solve( x / (x 2) = 4, x ); 8 3 Beispiel 2: Lösen Sie die Gleichung

Mehr

Projekt: Python Programmierung

Projekt: Python Programmierung Projekt: Python Programmierung Zeichnen mit Schildkröten das Elektrotechnik- und Informatik-Labor der Fakultät IV http://www.dein-labor.tu-berlin.de Handout zum Projekt: Python Programmierung Zeichnen

Mehr

Einführung in Python Übung 1

Einführung in Python Übung 1 Einführung in Python Übung 1 Rebecca Breu, Bastian Tweddell Oktober 2007 Login: XXXloginXXX Passwort: XXXpasswortXXX Bitte das Passwort ändern (passwd)! Datentypen I Aufgabe 1 (Erste Schritte, Zahlen)

Mehr

Zusätzliche Unterlagen

Zusätzliche Unterlagen Programmieren 1 & 2 Zusätzliche Unterlagen Zusätzliche Unterlagen Inhaltsverzeichnis 1 Hilfe- und Dokumentationsseiten unter UNIX (man pages) 1 2 Plotten unter UNIX (gnuplot) 3 3 Detect Unintended Memory

Mehr

6 DATENBANKEN Datenbank. mit Spaltenüberschriften,

6 DATENBANKEN Datenbank. mit Spaltenüberschriften, 6 DATENBANKEN 6.1. Datenbank Eine Datentabelle mit Spaltenüberschriften, bei der in einer Spalte jeweils gleichartige Daten, stehen nennt man Datenbank. In Excel können kleine Datenbanken komfortabel verwaltet

Mehr

Microsoft Access 2010 Gruppierte Daten in Berichten

Microsoft Access 2010 Gruppierte Daten in Berichten Microsoft Access 2010 Gruppierte Daten in Berichten Berichte... zeigen Daten zum Lesen an. können Daten gruppieren und berechnen. beziehen die Daten aus einer Tabelle oder Abfrage / SQL- Anweisung. bereiten

Mehr

Gnuplot. Justin Simon Bayer. 12. Januar 2006

Gnuplot. Justin Simon Bayer. 12. Januar 2006 Gnuplot Justin Simon Bayer 12. Januar 2006 1 Inhaltsverzeichnis 1 Gnuplot? 3 1.1 Was ist das eigentlich?........................ 3 1.2 Ein Beispiel.............................. 3 1.3 Und noch eins.............................

Mehr

Damit du Scratch verwenden und deine Projekte auch gleich veröffentlichen und mit anderen teilen kannst brauchst du ein Scratch-Konto.

Damit du Scratch verwenden und deine Projekte auch gleich veröffentlichen und mit anderen teilen kannst brauchst du ein Scratch-Konto. Seite 1 TUTORIAL ZU SCRATCH 2.0 In diesem Tutorial sollst Du die grundlegenden Funktionen von Scratch ausprobieren und kennenlernen. Danach solltest Du gut mit dem Programm umgehen können und eigene Programme

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

Multivariate Analysis

Multivariate Analysis Kapitel Multivariate Analysis Josef Leydold c 6 Mathematische Methoden I Multivariate Analysis / 38 Lernziele Funktionen in mehreren Variablen Graph und Niveaulinien einer Funktion in zwei Variablen Partielle

Mehr