• Keine Ergebnisse gefunden

Programmiervorkurs für die Numerik Teil 3/4

N/A
N/A
Protected

Academic year: 2022

Aktie "Programmiervorkurs für die Numerik Teil 3/4"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)line 1. 1. Programmiervorkurs für die Numerik Teil 3/4. 0.8 0.6 0.4. Christian Power. 0.2 0. Mathematisches Institut Universität Tübingen. -0.2 -0.4. 8 6. 06.10.2016 -8. -6. -4. 4 2 0. -2. -2 0. 2. -4 4. 6. -6 8. -8.

(2) Wiederholung. Letztes mal haben wir gelernt: I. Funktionen zu schreiben.. I. Vektoren und Matrizen definieren.. I. Operatoren und Zugriffe auf diesen.. 2 / 31.

(3) Gliederung. Lösungsvorschläge. Plotten. 3 / 31.

(4) Lösungen für die Aufgaben des 2. Übungsblattes. Aufgabe 3: 1 2 3 4 5 6 7. workspace () n = 5 m = 10 v = [ a for a =1: n ] w = [ a for a =1: m ] println ( v ) println (w ’). Lösungsvorschläge. 4 / 31.

(5) Lösungen für die Aufgaben des 2. Übungsblattes. Aufgabe 4: 1 2 3 4 5 6 7 8. """ substr (v , w ) berechnet v - w - ** Precondition **: length ( v ) == length ( w ) """ function substr (v , w ) v - w end. Lösungsvorschläge. 5 / 31.

(6) Lösungen für die Aufgaben des 2. Übungsblattes Aufgabe 5: 1 2 3 4 5 6 7 8 9 10. workspace () """ multip (v , w , kind ) Multipliziere v und w . kind sagt , welche Art der Multiplikation . - kind == \ " kw \ " ist Komponentenweise - kind == \ " d \ " ist Skalarprodukt - Jedes andere kind liefert 0 zur ü ck """ function multip (v , w , kind ). Lösungsvorschläge. 6 / 31.

(7) Lösungen für die Aufgaben des 2. Übungsblattes. Aufgabe 5: 1 2 3 4 5 6 7 8 9. function multip (v , w , kind ) rv = 0 if kind == " kw " rv = v .* w elseif kind == " d " rv = v ’ * w end return rv end. Lösungsvorschläge. 7 / 31.

(8) Lösungen für die Aufgaben des 2. Übungsblattes Aufgabe 6: 1 2 3 4 5 6 7 8 9 10 11 12 13 14. """ myMax ( v ) Berechnet die Maximumsnorm von v """ function myMax ( v ) x = abs ( v [1]) for i = 1: length ( v ) curNo = abs ( v [ i ]) if x < curNo x = curNo end end return x end Lösungsvorschläge. 8 / 31.

(9) Lösungen für die Aufgaben des 2. Übungsblattes Aufgabe 6: 1 2 3 4 5 6 7 8 9 10 11. """ oneNorm ( v ) Berechnet die 1 - Norm von v """ function oneNorm ( v ) x = 0 for elem in v x += abs ( elem ) end return x end. Lösungsvorschläge. 9 / 31.

(10) Lösungen für die Aufgaben des 2. Übungsblattes Aufgabe 6: 1 2 3 4 5 6 7 8 9 10. """ euklNorm ( v ) Berechnet die euklidische Norm von v """ function euklNorm ( v ) sqrt (v ’* v ) end println ( " | x | _∞ = " , myMax ( x )) println ( " | x | _1 = " , oneNorm ( x )) println ( " | x | _2 = " , euklNorm ( x )). Lösungsvorschläge. 10 / 31.

(11) Lösungen für die Aufgaben des 2. Übungsblattes. Aufgabe 7: 1 2 3 4 5 6 7 8 9. workspace () x = rand (4 ,5) println ( " Matrix =\ n $ x " ) println ( " Alle Elemente " ) for elem in x println ( elem ) end println ( " Alle ungerade Spalten " ) println ( x [: ,1:2: end ]). Lösungsvorschläge. 11 / 31.

(12) Lösungen für die Aufgaben des 2. Übungsblattes. Aufgabe 8: 1 2 3 4 5 6. workspace () A = [1 2; 3 4] v = [4;5] println (A , " \ n " ,v ) println ( A * v ) println (v ’* A ). Lösungsvorschläge. 12 / 31.

(13) Lösungen für die Aufgaben des 2. Übungsblattes. Aufgabe 10: 1 2 3 4 5 6 7 8. workspace () """ celinfar ( tcel ) Rechnet Grad Celsius in Grad Fahrenheit um . """ function celinfar ( tcel ) 9./5. * tcel + 32 end. Lösungsvorschläge. 13 / 31.

(14) Plotten in MATLAB I. 1 2 3 4 5 6 7 8. 2D-Plot: MATLAB plottet keine stetige Funktion sondern interpoliert punktweise gegebene Funktionen,  d.h. man übergibt letztlich Punktmengen x (i), y (i) . x = 0:.5:3; y = sin ( x ); plot (x ,y , ’r ’) title ( ’ Mein erster Plot ’) xlabel ( ’ 0\ leq \ vartheta \ leq 3 ’) ylabel ( ’ sin (\ vartheta ) ’) print ( ’ - dpng ’ , ’ - r500 ’ ,... ’ ../ fig / plot2dEx . png ’). Plotten. 14 / 31.

(15) Plotten in MATLAB. Plotten. 15 / 31.

(16) Vorgehen beim Plotten. 1. Falls die zu plottende Funktion nicht schon als Punktmenge vorliegt, muss sie in eine überführt werden. Dazu legt man die gewünschten Intervallgrenzen [a, b] fest und wertet die Funktion an ausreichend vielen Stellen in diesem Intervall aus. 2. Die Punktmenge wird an die Plotfunktion zum Plotten übergeben. MATLAB erzeugt (je nach Einstellung sichtbar oder nicht) eine Grafik. 3. Nach Wunsch können an dem Plot noch verschiedene Einstellungen vorgenommen werden. 4. Falls gewünscht, kann der Plot auch als Grafik in eine Datei abgespeichert werden.. Plotten. 16 / 31.

(17) Plotten in Julia I. 1 2 3 4 5 6 7 8 9 10. using PyPlot urbild = [ a for a =0:.5:3] bild = sin ( urbild ) plot ( urbild , bild , linestyle = " -. " , marker = " o " ) title ( " Erster Plot " ) xlabel ( " 0≤\$\\ vartheta \$≤3 " ) , ylabel ( " sin (\$\\ vartheta \$) " ) grid ( true ) savefig ( " ../ fig / plotJl2dv2 . pdf " ). Plotten. 17 / 31.

(18) Plotten in Julia Erster Plot. 1.0 0.8. sin(ϑ). 0.6 0.4 0.2 0.00.0. Plotten. 0.5. 1.0. 1.5 0 ϑ 3. 2.0. 2.5. 3.0. 18 / 31.

(19) Bemerkung zum Plotten. I. Beschriften Sie Ihre Plots!! title(’So geht eine Überschrift’); MATLAB beherrscht übrigens auch ein paar LATEX-Befehle (die Wörter mit den -Zeichen).. I. Die Einstellungen zu einem Plot (wie Überschriften) werden nach dem Plotten angegeben. (Der Plot muss schon da sein, um ihn ändern zu können.). I. Verwenden Sie die erste Version von print: print (’-dpng’, ’-r100’, ’sin_img.png’); (außer, Sie wissen genau, was Sie wollen). Plotten. 19 / 31.

(20) Plotten in MATLAB II. Mehrere Abbildungen in einem Schaubild. 1 2 3 4 5 6 7 8. x = 0:.5:3; f = x .^2; y = 0:.25:3; g = -.5* y .^3+9; plot (x ,f ,y , g ) legend ( ’f ’ , ’g ’) print ( ’ - dpng ’ , ’ - r500 ’ ,... ’ ../ fig / multi2dPlot . png ’). Plotten. 20 / 31.

(21) Plotten in MATLAB II. Plotten. 21 / 31.

(22) Plotten in Julia II. Mehrere Abbildungen in einem Schaubild. 1 2 3 4 5 6 7 8 9 10 11 12. using PyPlot x = [ a for a = 0:.5:3] f = x .^2 y = [ a for a = 0:.25:3] g = -.5* y .^3+9 plot (x , f , label = " f " , linestyle = " -. " , marker = " o " ) plot (y , g , label = " g " , linestyle = " -. " , marker = " * " ) legend () grid ( true ) savefig ( " ../ fig / multiJl2d . pdf " ). Plotten. 22 / 31.

(23) Plotten in Julia II. 10. f g. 8 6 4 2 0 2 4 60.0. Plotten. 0.5. 1.0. 1.5. 2.0. 2.5. 3.0. 23 / 31.

(24) Kurven 3D-Plot in MATLAB. Plotte Bild von γ : I → R3 1 2 3 4 5 6 7 8. anzahlUmd = 3; t = 0:.25:2* pi * anzahlUmd ; x = sin ( t ); y = cos ( t ); z = 0:20/( length ( t ) -1):20; plot3 (x ,y ,z , ’ -x ’) print ( ’ - dpng ’ , ’ - r500 ’ ,... ’ ../ fig / plot3dEx . png ’). Plotten. 24 / 31.

(25) Kurven 3D-Plot in MATLAB. Plotten. 25 / 31.

(26) Kurven 3D-Plot in Julia. Plotte Bild von γ : I → R3 1 2 3 4 5 6 7 8 9. using PyPlot anzahlUmd = 3 t = [ a for a = 0:.25:2* pi * anzahlUmd ] x = [ sin ( a ) for a in t ] y = [ cos ( a ) for a in t ] z = [ a for a = 0:20/( length ( t ) -1):20] axes ( projection = " 3 d " ) plot (x ,y ,z , linestyle = " -. " , marker = " o " ) savefig ( " ../ fig / param3d . pdf " ). Plotten. 26 / 31.

(27) Kurven 3D-Plot in Julia. 20 15 10 5. 0.5. Plotten. 0.0 0.0. 0.5. 0.5. 0 1.0. 0.5. 27 / 31.

(28) 3D Graphen Plot in MATLAB. Plotte Graphen von f : [x1 , x2 ] × [y1 , y2 ] → R 1 2 3 4 5 6 7. x = -1:.05:1; y=x; [ xgitter , ygitter ]= meshgrid (x , y ); f = xgitter .^2 - ygitter .^2; mesh ( xgitter , ygitter , f ); print ( ’ - dpng ’ , ’ - r500 ’ ,... ’ ../ fig / graph3dEx . png ’). Plotten. 28 / 31.

(29) 3D Graphen Plot in MATLAB. Plotten. 29 / 31.

(30) 3D Graphen Plot in Julia. Plotte Graphen von f : [x1 , x2 ] × [y1 , y2 ] → R 1 2 3 4 5 6. ( xGrid , yGrid ) = matlabMesh (x , y ) zGrid = xGrid .^2 - yGrid .^2 plot_surface ( xGrid , yGrid , zGrid , cmap = ColorMap ( " jet " ) , rstride =1 , cstride =1) savefig ( " ../ fig / graph3d . pdf " ). Plotten. 30 / 31.

(31) 3D Graphen Plot in Julia. 1.0 0.5 0.0 0.5. 1.0. Plotten. 0.5. 0.0 0.0. 0.5. 0.5. 1.0 1.0. 0.5 1.0 1.0. 31 / 31.

(32)

Referenzen

ÄHNLICHE DOKUMENTE

Bei den meisten Akteuren herrscht Einigkeit, dass die Verzah- nung der humanitären Hilfe mit der Entwicklungszu- sammenarbeit verbessert werden muss, um Menschen in Notlagen

1) Jeder Regierungsstatthalter ist befugt, die Öffnungszeiten seines Regierungsstatthalte- ramtes selber festzulegen. Die Justiz-, Gemeinde- und Kirchendirektion, welche im

März 2002 mit grosser Mehrheit die Motion Leutenegger Oberholzer überwiesen hat, in der gesetzliche Grundlagen für eine volle und individualisierte Transparenz der Löhne

Es kann kaum davon ausgegangen werden, dass die Migrantinnen und Migranten durch den Besuch eines Integrationskurses innert kürzester Zeit die Integration

Neu und originell im Blick auf IKor 8,1-11,1 ist Hurds These, dass in Korinth eine Gruppe der Schwachen nicht wirklich existiert, sondern ledig- lich eine hypothetische

31 H. Maier, Die ältere deutsche Staats- und Verwaltungslehre, S. Stolleis, Geschichte des öffentlichen Rechts in Deutschland I, S. Götz, Allgemeines Polizei- und Ordnungsrecht,

August gibt es in diesem Jahr auch wieder die Kreistierschau (unter anderem Kühe, Fohlen, Kaninchen und Geflügel), die sogar noch durch eine Bundesschau zum Jakob- schaf

Arzneistoffe, die zu einem großen Teil über die Niere eliminiert werden, müssen bei nachlassender Nierenfunktion früher oder später in ihrer Dosierung angepasst werden – das