Crashkurs: MATLAB (Teil II)

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

Einführung in die Grundlagen von Matlab. Ralph Neubecker

WiMa-Praktikum 1. Woche 8

m-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.

MATLAB-Tutorium WS18 Nathalie Marion Frieß

Ingenieurinformatik II Numerik für Ingenieure Teil 2

Crashkurs: MATLAB Mentoring SoSe 2017 (Orientierungswoche) Anja Wolffgramm, Maren Fanke Freie Universität Berlin

11 Spezielle Funktionen und ihre Eigenschaften

Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB

7. Übung zur Numerik partieller Differentialgleichungen I

Einführung in MATLAB Blockkurs DLR:

Übungsblatt 3 Musterlösung

Einführung in. Pierre Bayerl

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Numerische Lineare Algebra - Matlab-Blatt 2

Die trigonometrischen Funktionen

Programmiervorkurs für die Numerik Teil 2/4

Mathematische Computer-Software

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Schriftliche Prüfung zur Computergestützten Mathematik zur Linearen Algebra (PO 2014: Erste Klausur / PO 2008: Klausur)

MATLAB: Kapitel 3 Programmieren

Klausurenkurs zum Staatsexamen (WS 2016/17): Differential und Integralrechnung 3

Mathematische Grundlagen (01141) SoSe 2010

Aufgaben zur Klausurvorbereitung Mathematik I

Octave/Matlab-Übungen

Eine kurze Einführung in Matlab

Numerik I. Aufgaben und Lösungen

Eine kleine Anleitung zum Programmieren mit MATLAB

Partielle Integration

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006

Trigonometrische Funktionen

Programmieren. Aufgabe 1 (Eine erste Datenstruktur)

Übungsaufgaben zu den mathematischen Grundlagen von KM

Numerisches Programmieren, Übungen

Musterklausur_2 Grundlagen Informatik

Klausurenkurs zum Staatsexamen (WS 2015/16): Differential und Integralrechnung 3

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

TU Ilmenau Institut für Mathematik FG Numerische Mathematik und Informationsverarbeitung PD Dr. W. Neundorf Datei: UEBG2.TEX

Definition von Sinus und Cosinus

8 Reelle Funktionen. 16. Januar

1 Berechnung von Summen (ca = 10 Punkte)

Ziel: Iterative Lösung der (nichtlinearen) Gleichung f(x) = 0.

Mathcad Prime 3.0 Grundlagen

Mathematischer Vorkurs Lösungen zum Übungsblatt 3

Selbsteinschätzungstest

Praktikum Beobachtungsnetze. Matlab in Versuch Hydrologie Hilfestellungen

Woche 08/12 15/12 4. Gershgorin-Kreise, Stabilität und Kondition 1 / 8

High Performance Computing Blatt 7

Markus Grasmair. 8. März 2010

Übungen zum MATLAB Kurs Teil

Übungen zur Ingenieur-Mathematik II SS 2017 Blatt Aufgabe 13: Betrachten Sie die Funktion. f(x) =

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

Kapitel 4. Determinante. Josef Leydold Mathematik für VW WS 2017/18 4 Determinante 1 / 24

Brückenkurs Mathematik. Mittwoch Freitag

Tutorial: Numerisch Differenzieren

2 Matrizen und Vektoren

(c) Berechnen Sie den Wert der (divergenten) Reihe e17 mal 10 hoch 245 aus. Wie kann man die Korrektheit des Programms überprüfen?

1. Aufgabe (6 Punkte) Zeigen Sie mit Hilfe der vollständigen Induktion, dass folgende Gleichheit gilt für alle n N, n 2. k (k + 1)! = 1 1 n!.

Eine kurze Einführung in SCILAB Sommersemester 2015

LABORÜBUNG MATLAB/OCTAVE

Themenbereich: Trigonometrie

Skript Lineare Algebra

PPS "Bits on Air" 1. Teil, Matlab-Tutorial Vorbereitungsaufgaben (Lösungsvorschläge)

Einführung in die Programmiersprache Julia Vorlesung Computerphysik Sommersemester 2018 Ralf Bulla Universität zu Köln

Einführung in MATLAB

Kettenregel. 1 Motivation. 2 Die Kettenregel. 2.1 Beispiel: f(x) = ( 2 x 2) 3

Trigonometrie. Mag. DI Rainer Sickinger HTL. v 1 Mag. DI Rainer Sickinger Trigonometrie 1 / 1

Einführung in Matlab, 2. Teil

Transkript:

Crashkurs: MATLAB (Teil II) Übungsaufgaben Im Rahmen des Mentorings (SoSe 209) 0.04.209

Funktionen, Kontrollstrukturen, Abbildungen Hinweis. Schreiben Sie jede der folgen Aufgaben in eine eigene Skript-Datei und speichern Sie diese unter einem geeigneten Dateinamen in Ihrem bereits angelegten Arbeitsverzeichnis (bspw. matlabgrundlagen) ab. Aufgabe 0. (Wiederholung Theorie). Nutzen Sie eine Informationsquelle Ihrer Wahl, um die folgen Fragen zu beantworten. (a) Wie können Kopien von Matrizen widerholt werden? (b) Wie kann man eine Zahl auf- bzw. abrunden? (c) Mit welcher Funktion kann man die Diagonale einer Matrix A R n n extrahieren, d.h. den Vektor A,..., A nn R n? Bemerkung. Für umfangreiche Ergebnisse lohnt es sich häufig die Suche in englischer Sprache durchzuführen. Aufgabe. Es soll eine Funktion erstellt werden, die den Umfang und den Flächeninhalt eines Kreises berechnet. Bemerkung. MATLAB besitzt neben bereits integrierten Funktionen auch integrierte Konstanten. Für die Kreiszahl π lautet die Konstante pi. Aufgabe 2. Implementieren Sie die Funktion f, die für x R durch 0 falls x < 0 f(x) := 2 x2 falls 0 x x falls x >. definiert ist. Wählen Sie einen kompatiblen Namen für Ihre Funktion und vergewissern Sie sich von der Richtigkeit Ihrer Implementierung, indem Sie f an geeigneter Stelle auswerten. Aufgabe 3. Implementieren Sie die Betragsfunktion, die für x R durch { x falls x 0 f(x) := x falls x < 0. definiert ist. Legen Sie dazu eine neue Funktion myabs an und testen Sie Ihre Implementierung, indem Sie die Ergebnisse von myabs für geeignete Eingabeparameter mit denen der Standardfunktion abs vergleichen.

Aufgabe 4. (for-schleifen: Weitere Konstruktionen) Lesen Sie die folgen Code-Beispiele durch und versuchen Sie den Programmablauf nachzuvollziehen. Führen Sie die Code-Beispiele anschließ in einzelnen Skript-Dateien aus und vergleichen Sie Ihre Erwartungen mit den tatsächlichen Ergebnissen. % S t a n d a r d b e i s p i e l : I t e r i e r e ueber a l l e Zahlen von b i s 0 % und berechne das Quadrat der j e w e i l i g e n I t e r i e r t e n. f o r i = :0 % i wird e i n Vektor mit den Zahlen b i s 0 d i s p l a y ( i ^2); % a l s Inkrement zugeordnet. % V e r s c h a c h t e l t e for S c h l e i f e n. f o r i = : 3 % Erst wird d i e a e u s s e r e S c h l e i f e, f o r j = : 3 % dann d i e i n n e r e S c h l e i f e durchlaufen. d i s p l a y ( i j ) ; % B e i s p i e l mit einem b e l i e b i g e n Vektor. c = 0 ; f o r i = [ 7 4 6 2 8 ] c = c+i ; % Addiere d i e a k t u e l l e I t e r i e r t e auf c. d i s p l a y ( Die Summe a l l e r I t e r i e r t e n : ) ; % Ausgabe Endergebnis. d i s p l a y ( c ) ; 2

% Elegantere Version : v = [ 7 4 6 2 8 ] c = 0 ; f o r i = : length ( v ) c = c+v ( i ) ; % Berechne d i e I n v e r s e e i n e s jeden Eintrags. v = [ 5 3 8 4 0 9 2 ] ; f o r v i = v % F a l l s v i == 0 i s t, i s t d i e I n v e r s e n i c h t d e f i n i e r t. % Wir brechen d i e a k t u e l l e I t e r a t i o n ab und machen % beim naechsten v i w e i t e r. i f v i == 0 d i s p l a y ( v i = 0 kann n i c h t i n v e r t i e r t werden. ) ; continue ; d i s p l a y (/ v i ) ; Aufgabe 5. Implementieren Sie n k 2 = 0 + + 4 + 9 +... k=0 als Funktion. Benennen Sie die neu angelegte Funktion mit mysum. Für n = 5 sollte der Wert 55 ausgegeben werden. Aufgabe 6. Implementieren Sie eine Funktion alternatingsum, die zu einem Vektor v R n die alterniere Summe v + v 2 v 3 +... berechnet. Prüfen Sie Ihre Implementierung mit geeigneten Beispielen. Für v = ( 2, 5, 0, 0) sollte der Rückgabewert beispielsweise 3 sein. 3

Aufgabe 7. Definieren Sie eine Funktion myprod, die zu einem Eingabevektor v R n das Produkt seiner Einträge zurückgibt, d.h. v v 2 v 3 v n. Prüfen Sie die Richtigkeit Ihrer Implementierung, indem Sie die Ergebnisse von myprod für geeignete Eingabeparameter mit denen der Standardfunktion prod vergleichen. Für v = (5, 6,, 8) sollte der Wert 720 herauskommen. Bemerkung. Die Standardfunktion prod() ist eine kürzere Schreibweise zur Berechnung des Produkts der Einträge eines Vektors v R n, d.h. v v 2 v 3 v n. Aufgabe 8. Definieren Sie ein Funktionen-Handle, das der mathematischen Abbildung f(x, y) = x 2 + y 2 entspricht. Stellen Sie dabei sicher, dass ihre Funktion auch für Matrizen sinnvoll ist. D.h. für X, Y R m n soll f(x, Y ) = Z R m n gelten. Testen Sie ihr Funktionen- Handle mit folgen Matrizen: ( 0 B = 2 ) ( 0, Y = 2 ) (, f(x, Y ) = 2 ). Aufgabe 9. (Plotten). Die Graphen der Gerade y = x und der Exponentialfunktion z = e 2x sollen beide im Intervall I = [0, 4] in einem Fenster geplottet werden. Darüber hinaus soll der Plot angemessen beschriftet sein (Titel, Achsenbeschriftung, Lege,...) und die beiden Graphen farblich voneinander unterschieden werden können. Bemerkung. In MATLAB wird die Exponentialfunktion e x durch die Funktion exp() dargestellt. Lösung: 4

2. Es soll ein 2 2 Subplot erstellt werden. Das erste Feld soll den Plot aus Teilaufgabe 9.. enthalten. Die restlichen Felder sollen durch die Plots der folgen drei Funktionen über dem Intervall I = [0, 0] mit der Schrittweite 0. gefüllt werden. Die einzelnen Subplots sollen dabei sowohl einen Titel als auch eine Achsenbeschriftung besitzen. f 2 (x) = 3 cos(x) tan(x) f 3 (x) = arctan(x) sin(x) f 4 (x) = sin(x) e ( x 000 ) Bemerkung. In MATLAB wird der Arcustangens arctan durch die Funktion atan() dargestellt. Lösung: Zusatzaufgaben (Zum Knobeln) Aufgabe 0. Schreiben Sie eine Funktion evensum, die zu einem Vektor v R n, die Summe aller geraden Einträge von v zurückgibt. Verwen Sie dabei nicht die Funktion sum. Testen Sie Ihre Implementierung an einigen geeigneten Beispielen. Für v = (5, 3, 2, 4) sollten Sie etwa das Ergebnis 6 erhalten. Bemerkung. Die Benutzung der in MATLAB integrierten Modulofunktion mod() kann beim Lösen der Aufgabe von Vorteil sein. Des Weiteren erfordert die Aufgabe das Einfügen einer Bedingung. 5

Aufgabe. Schreiben Sie eine Funktion sumfun, die zu einer Matrix A R n m den Wert m i= n i j A ij j= berechnet. Testen Sie wie gewohnt Ihre Implementierung mittels geeigneter Testbeispiele auf Richtigkeit. Für A = vander(:3) sollten Sie beispielsweise den Rückgabewert 82 erhalten. Bemerkung. Angedacht ist, dass Sie diese Aufgabe mit Hilfe verschachtelter for- Schleifen lösen. Sie können das Problem alternativ aber auch mit einem recht kurzen Einzeiler lösen. Quellen http://numerik.mi.fu-berlin.de/wiki/ws_207/comai_dokumente/matlab_ MiniTutorials.pdf http://www-m2.ma.tum.de/foswiki/pub/m2/allgemeines/matlabsose202/ blatt.pdf http://people.inf.ethz.ch/arbenz/matlabkurs/matlabintro.pdf 6