Octave/Matlab-Übungen

Ähnliche Dokumente
Octave/Matlab-Übungen

Octave/Matlab-Übungen

Matlab: eine kurze Einführung

Matlab: eine kurze Einführung

Scilab Consortium (École Polytechnique... Renault) kostenloses Download

Übungsblatt Matlab-Zentralübung Musterlösung

Numerik-Programm, mittlerweile mit vielen Erweiterungen (Toolboxen) Matlab = Matrix Laboratory Sehr gute Doku (doc, help, lookfor)

MATLAB Einführung. Numerische Methoden für ITET und MATL Dr. S. May, D. Devaud. ETH Zürich, Seminar for Applied Mathematics

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Matlab Selbstlernkurs

Einführung in MATLAB Blockkurs DLR:

Programmieren. Aufgabe 1 (Eine erste Datenstruktur)

WiMa-Praktikum 1. Woche 5

Mathematik am Computer 7. Vorlesung: Matlab, Teil II

Einführung in Matlab, 2. Teil

Einführung Matlab Aufgabenkatalog

Eine Einführung zum numerischen Programmieren mit Matlab

Übungsblatt 3 Musterlösung

MATLAB-Toolskurs HS17

Einführung in. Pierre Bayerl

GNU Octave / Matlab Eine Einführung

Numerische Lineare Algebra - Matlab-Blatt 2

Mathematische Computer-Software

2 Matrizen und Vektoren

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

GNU Octave / Matlab Eine Einführung. Christian Gerhards / Roger Telschow

Einführung in Matlab

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

Eine kurze Einführung in Matlab

Kurze Einführung in Octave

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

Matlab: eine kleine Einführung 2

Matlab Praktikum. Dipl.-Math. Zülfü Taskesen

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

INTELLIGENTE DATENANALYSE IN MATLAB. Einführung in MATLAB

Wima 1 - Praktikum (Woche 6)

2. Einführung in das Ingenieurtool MATLAB

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Matlab Praktikum - Tag 4

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

MATLAB-Tutorium WS18 Nathalie Marion Frieß

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 Starten und Installation von gnuplot

Prof. Dr. Stefan Funken, Dipl.-Ing. Christoph Erath 6. Juni WiMa-Praktikum (Matlab 4/8) Einführung in LATEXund Matlab

Zwei-Punkt-Randwert-Aufgabe. Teil I Motivation Skript-Files Function-Files. Mathematische Anwendersysteme Einführung in MATLAB

LABORÜBUNG MATLAB/OCTAVE

Einführung in MATLAB / GNU Octave

Beispiel-Glossar zu Octave

Projektaufgabe Mathematik II Der passive RC-Tiefpaß

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

Markus Grasmair. 8. März 2010

Numerische Lineare Algebra - Matlab-Blatt 1

Fourierreihen und Spektrenanalyse Protokoll 11

Numerische Analysis - Matlab-Blatt 1

Numerische Analysis - Matlab-Blatt 5

Mathematik. für das Ingenieurstudium. 10 Funktionen mit mehreren Variablen. Jürgen Koch Martin Stämpfle.

Programmiervorkurs für die Numerik Teil 2/4

7 3D-Graphik Kurven im R 3

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Grafische Darstellung von Funktionen

Kurzeinführung Matlab

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

Übungsblatt 2 Musterlösung

Einführung in MATLAB

Einführung in Python Teil II Bibliotheken für wissenschaftliches Rechnen

Einführung in MATLAB

NUMERISCHE MATHEMATIK I

10:Exkurs MATLAB / Octave

Einführung in MATLAB. Grundlagen für die Übungen begleitend zur Vorlesung Neuroinformatik I

Eine kurze Einführung in GNU Octave (Teil 2)

Anleitung zu Blatt 1 Analysis III für Studierende der Ingenieurwissenschaften

Grundlagen von MATLAB

Die Programmieraufgaben

Transkript:

Octave/Matlab-Übungen Aufgabe 1a: Lösungsvorschlag (i) abs(2+3*(5-11)) (ii) sin(pi/3) (iii) sqrt(2ˆ2+3ˆ2) (iv) cos(sqrt(2*exp(1))) (v) log(pi)/log10(3.5) Aufgabe 1b: Lösungsvorschlag Es fällt auf, dass a b 0 in Matlab, obwohl klar ist dass a = b gilt. Dies liegt an der Rechengenauigkeit von Matlab. Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 1 / 31

Aufgabe 2: Lösungsvorschlag (i) (1+i)*(2-i) (ii) abs(1+2i) oder abs(1+2*i) (iii) exp(pi*i/2) (iv) (3+conj(1-i))/(iˆ3) (v) angle(2-i) (Matlab) bzw. arg(2-i) (Octave) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 2 / 31

Aufgabe 3: Lösungsvorschlag (i) x=[1 5 0-3.5] oder x=[1,5,0,-3.5] (ii) y=[4;0;1] oder y=[4 0 1] (iii) z=zeros(1,8) (iv) d=3*ones(1,6) Dann: z(3)=4 sqrt(x()) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 3 / 31

Aufgabe 4a: Lösungsvorschlag Zunächst Vektoren eingeben: x=[1 0 3] ; y=[-1 1/2 4] ; z=[0 2 5] ; (i) Ausgabe der Normen: norm(x) norm(y) norm(z) (ii) Winkel α zwischen x und y: entweder acosd(dot(x,y)/(norm(x)*norm(y))) oder selbst vom Bogenmaß auf Grad umrechnen mit acos(dot(x,y)/(norm(x)*norm(y)))*180/pi (iii) Volumen des Spats: abs(dot(cross(x,y),z)) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 4 / 31

Aufgabe 5: Lösungsvorschlag (i) x=1:6; plot(x,sqrt(x), k ) (ii) figure x=0:0.01:2*pi; plot(x,sin(x)) oder plot(x,sin(x), b ) (iii) figure x=linspace(-3,3,100) plot(x,x.ˆ2+2*x-2, r ) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 5 / 31

Aufgabe 6: Lösungsvorschlag (i) x=-2:0.05:2; plot(x,2.ˆx, r: ) title( Zwei hoch x )... die Punkt-Operation beachten! (ii) figure x=1:5; plot(x,x.ˆ2, c-.ˆ ) xlabel( n ); ylabel( nˆ2 ) title( Quadrate )... dito, Punkt-Operation beachten! (iii) figure a=0:0.01:2*pi; plot(a,sin(a), r,a,cos(a), k ) leg( sin, cos ) title( Sinus und Kosinus ) xlabel( \alpha ) ylabel( sin(\alpha), cos(\alpha) ) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 6 / 31

Aufgabe 7: Lösungsvorschlag (i) x=0:0.01:2; plot(x,x, k,x,sqrt(x), k ) hold on scatter([0 1],[0 1], rp ) hold off leg( f, g, Location, SouthEast ) (ii) figure quiver([0,0],[0,0],[1,2],[2,1],0) hold on x=[1,2]+[2,1]; quiver([0],[0],x(1),x(2),0, r ) quiver([1,2],[2,1],[2,1],[1,2],0, k ) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 7 / 31

Aufgabe 8: Lösungsvorschlag (i) p=poly([1 2.5]); x=0:0.01:4; plot(x,polyval(p,x), k ) xlabel( x ) ylabel( p(x) ) title( Eine Parabel ) (ii) hold on p2=polyval(p,2); pstrich2=polyval(polyder(p),2); plot(x,p2+(x-2)*pstrich2, r ) scatter(2,p2, bs ) hold off... beim Zeichnen der Gerade könnte man auch polyval benutzen, ist aber bei einem Polynom von Grad 1 vielleicht zu kompliziert. Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 8 / 31

Aufgabe 9: Lösungsvorschlag A=3*eye(3); A(1,3)=1 B=[zeros(2) ones(2); zeros(1,4)] v=[-1 4 pi] A(2,:)=v B(1:2,)=v(2:)... oder statt die konkreten Endwerte 4 bzw. 3 einsetzen Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 9 / 31

Aufgabe 10: Lösungsvorschlag A=[1 2 3 4; 0 5 6 7; 0 0 8 9; 0 0 0 10]; b=[2 0 1 3] ; B=A; B(:,2)=b; x2=det(b)/det(a) x=a\b Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 10 / 31

Aufgabe 11: Lösungsvorschlag (i) A=[0-1] ; B=[3 1] ; C=[-1 3] ; D=[2 0] ; Aus dem Ansatz E = A + s(b A) = C + t(d C) folgt M ( s t ) = C A, wobei M die Spalten B A und C D enthält: M=[B-A C-D]; st=m\(c-a); E=A+st(1)*(B-A) (ii) t=dot(c-a,b-a)/dot(b-a,b-a); F=A+t*(B-A) (iii) s=-1:0.1:3; Alle Punkte auf AB sehen aus wie A + s(b A) = (1 s)a + sb. Schreibt man alle s-werte in einen Zeilenvektor, kann man alle Punkte auf AB spaltenweise in eine Matrix schreiben via... AB=A*(1-s)+B*s; plot(ab(1,:),ab(2,:), k ) hold on CD=C*(1-s)+D*s; plot(cd(1,:),cd(2,:), k ) scatter(e(1),e(2), ro ) scatter(f(1),f(2), bs ) hold off axis([-2 4-2 4]) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 11 / 31

Aufgabe 12: Lösungsvorschlag (i) fliplr(diag(v)) (ii) toeplitz([2-1 zeros(1,n-2)]) (iii) n=length(v); [zeros(n-1,1) eye(n-1); v]) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 12 / 31

Aufgabe 13: Lösungsvorschlag (i) A=triu(ones(6))+2*tril(ones(6),-1) oder A=ones(6)+tril(ones(6),-1) oder A=2*ones(6)-triu(ones(6)) (ii) B=blkdiag(5*triu(ones(2)),-2*ones(3)) (iii) C=kron(diag(1:3),[1 1] ) oder C=blkdiag([1 1],[2 2],[3 3] ) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 13 / 31

Aufgabe 14: Lösungsvorschlag t=-0.7*pi/4:0.01:0.9*3*pi/4; r=3*cos(t).*sin(t)./(cos(t).ˆ3+sin(t).ˆ3);... Punkt für die komponentenweisen Operationen nicht vergessen! plot(r.*cos(t),r.*sin(t), b ) hold on x=-2:0.1:2; plot(x,-x-1, b: ) hold off axis equal axis([-2 2-2 2]) xlabel( x ) ylabel( y ) title( Kartesisches Blatt ) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 14 / 31

Aufgabe 15: Lösungsvorschlag (i) t=0:0.01:2*pi; omega1=1; omega2=2; phi1=0; phi2=0; figure plot(sin(omega1*t+phi1),sin(omega2*t+phi2)) figure plot3(sin(omega1*t+phi1),sin(t),sin(omega2*t+phi2)) (ii) omega1=2; omega2=3; phi1=0; phi2=0; figure plot(sin(omega1*t+phi1),sin(omega2*t+phi2)) figure plot3(sin(omega1*t+phi1),sin(t),sin(omega2*t+phi2)) (iii) omega1=2; omega2=3; phi1=0; phi2=3*pi/4; figure plot(sin(omega1*t+phi1),sin(omega2*t+phi2)) figure plot3(sin(omega1*t+phi1),cos(t),sin(omega2*t+phi2)) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 15 / 31

Aufgabe 16: Lösungsvorschlag (i) figure x=-1:0.02:1; y=x; [X,Y]=meshgrid(x,y); surf(x,y,cos(5*(x.ˆ2+y.ˆ2))); xlabel( x ) ylabel( y ) zlabel( f(x,y) ) title( rotierter Kosinus ) (ii) figure x=0:0.01:1; y=x; [X,Y]=meshgrid(x,y); surf(x,y,max(27*x.*y.*(1-x-y),0)); xlabel( x ); ylabel( y ); zlabel( g(x,y) ); title( Bubble-Funktion ); Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 16 / 31

Aufgabe 17: Lösungsvorschlag (i) Entweder summe=@(n) sum(1:n); eintippen oder die Funktion als.m-datei auslagern summe.m function x=summe(n) x=sum(1:n); und dann summe(100) in der Kommandozeile eintippen (ii) Entweder fakultaet=@(n) prod(1:n); eintippen oder die Funktion als.m-datei auslagern fakultaet.m function x=fakultaet(n) x=prod(1:n); und dann fakultaet(10) in der Kommandozeile eintippen Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 17 / 31

Aufgabe 17ff: Lösungsvorschlag (iii) Die Funktion benutzt eine weitere (Puffer-)Variable... tausche.m function [a,b]=tausche(a,b) c=b; b=a; a=c;... und das Tauschen geschieht mit a=3; b=eye(2); [a,b]=tausche(a,b) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 18 / 31

Aufgabe 18: Lösungsvorschlag Zunächst Funktion als.m-datei auslagern, hier ohne else-anweisungen: f.m function y=f(x) y=0; if (x>=0)&&(x<1) y=xˆ2/2; if (x>=1)&&(x<2) y=-xˆ2+3*x-3/2; if (x>=2)&&(x<3) y=(3-x)ˆ2/2; Dann kann der B-Spline geplottet werden: x=-1:0.01:4; plot(x,arrayfun(@f,x)) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 19 / 31

Aufgabe 18ff: Lösungsvorschlag 2 (Alternative) Zunächst Funktion als.m-datei auslagern, hier mit else und elseif-anweisungen: f.m function y=f(x) if (x>=0)&&(x<1) y=xˆ2/2; elseif (x>=1)&&(x<2) y=-xˆ2+3*x-3/2; elseif (x>=2)&&(x<3) y=(3-x)ˆ2/2; else y=0; Dann kann der B-Spline geplottet werden: x=-1:0.01:4; plot(x,arrayfun(@f,x)) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 20 / 31

Aufgabe 19: Lösungsvorschlag (i) Zunächst Funktion als.m-datei auslagern, entweder mit for-schleife geldanlage.m function K=geldanlage(K0,n,p) K=K0; for j=0:n-1 K=K*(1+p/100); oder ohne: geldanlage.m function K=geldanlage(K0,n,p) K=K0*(1+p/100)ˆn;... und dann geldanlage(2000,5,3) in der Kommandozeile eintippen. Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 21 / 31

Aufgabe 19ff: Lösungsvorschlag (ii) Zunächst Funktion aus (i) erweitern, z.b. in der Variante mit Schleife geldanlage.m function K=geldanlage(K0,n,p,k) K=K0; for j=0:n-1 K=K*(1+p*k/(100*12))ˆ(12/k); und ohne Schleife geldanlage.m function K=geldanlage(K0,n,p,k) K=K0*(1+p*k/(100*12))ˆ(12/k*n);... und dann geldanlage(2000,5,3,1) in der Kommandozeile eintippen. Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 22 / 31

Aufgabe 19ff: Lösungsvorschlag (iii) Zunächst Funktion als.m-datei auslagern: sparen.m function K=sparen(E,n,p,k) K=0; for j=0:n-1 K=(K+E)*(1+p*k/(100*12))ˆ(12/k);... und dann in der Kommandozeile eintippen: sparen(500,5,3,12) sparen(500,5,3,1) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 23 / 31

Aufgabe 20: Lösungsvorschlag % Musterloesung zur Aufgabe 20 clear ; close all ; x =[0:0.01:1]; for a =[1 2 3. 5] figure plot (x,a*x.*(1 - x)) xlabel ( x ) ylabel ( f_a (x) ) title ([ Plot von f_a fuer a= num2str (a )]) hold on scatter (1/2, a /4) text (1/2, a /4+0.04, Hochpunkt ) axis ([0 1 0 1]) hold off Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 24 / 31

Aufgabe 21: Lösungsvorschlag % Musterloesung zur Aufgabe 21 clear ; close all f=@(x,y) (1 -x ).^2+100*( y-x.^2).^2; % Teil 1: 3D- Funktionsplot xh= -1:0.05:3; yh= -1:0.05:3; [X,Y]= meshgrid (xh,yh ); Z=f(X,Y); surf (X,Y,Z) title ( Die Rosenbrock - Funktion ) xlabel ( x ) ylabel ( y ) zlabel ( f(x,y) ) axis ([ -1 3-1 3 0 1000]) hold on scatter3 (1,1,f(1,1), r* ) hold off % Teil 2: 2D- Hoehenlinien figure contour (X,Y,Z,100, ShowText, on ) title ( Hoehenlinien der Rosenbrock -Funktion ) xlabel ( x ) ylabel ( y ) hold on scatter (1,1, r* ) hold off Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 25 / 31

Aufgabe 22: Lösungsvorschlag % Musterloesung zur Aufgabe 22 clear ; close all f=@(x,y) (x.^2+y -11).^2+( x+y.^2-7).^2; [X,Y]=meshgrid ( -5:0.05:5); contour (X,Y,f(X,Y ),20); title ( Hoehenlinien und Gradient der Funktion von Himmelblau ) xlabel ( x ) ylabel ( y ) hold on [X2,Y2 ]=meshgrid ( -5:0.2:5); % [DX,DY ]= gradient (f(x2,y2 )); % Alternative mit von Hand berechnetem Gradient : gx=@(x,y) 4*x.*(x.^2+y -11)+2*( x+y.^2-7); gy=@(x,y) 2*(x.^2+y -11)+4* y.*(x+y.^2-7); DX=gx(X2,Y2 ); DY=gy(X2,Y2 ); quiver (X2,Y2,DX,DY,3) hold off % optional : Plot figure surf (X,Y,f(X,Y)) title ( Funktion von Himmelblau ) xlabel ( x ) ylabel ( y ) zlabel ( f(x,y) ) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 26 / 31

Aufgabe 23: Lösungsvorschlag % Musterloesung zur Aufgabe 23 clear ; close all dreieck ([0 0],[1 0],[0 1]) dreieck ([0 0],[1 0],[0.5 0.5* sqrt (3)]) Inhalt der Datei dreieck.m: function dreieck (A,B, C) figure patch ([A(1) B (1) C (1)],[ A (2) B (2) C(2)], g, EdgeColor, r ) hold on scatter ([A(1) B (1) C (1)],[ A (2) B (2) C(2)], r* ) S=( A+B+C )/3; scatter (S(1),S(2), bo ) plot ([A(1) (B (1)+ C (1))/2],[ A (2) (B (2)+ C (2))/2], b ) plot ([B(1) (A (1)+ C (1))/2],[ B (2) (A (2)+ C (2))/2], b ) plot ([C(1) (A (1)+ B (1))/2],[ C (2) (A (2)+ B (2))/2], b ) hold off Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 27 / 31

Aufgabe 24: Lösungsvorschlag % Musterloesung zur Aufgabe 24 matrix2latex ([1 2 3;4 5 6], M.txt ) Inhalt der Datei matrix2latex.m: function matrix2latex (M, dateiname ) fid=fopen ( dateiname, w ); [m,n]= size (M); fprintf (fid, \\ begin { tabular }{ ); for kk =1: n fprintf (fid, c ); fprintf (fid, }\n ); for jj =1: m for kk =1: n fprintf (fid, %f,m(jj, kk )); if kk <n fprintf (fid, & ); if jj <m fprintf (fid, \\\\\n ); else fprintf (fid, \n ); fprintf (fid, \\ { tabular }\n ); fclose ( fid ); Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 28 / 31

Aufgabe 25: Lösungsvorschlag % Musterloesung zur Aufgabe 25 clear ; close all for n =3:8 dateiname =[ int2str (n) eck.png ]; neck (n, dateiname ); Inhalt der Datei neck.m: function neck (n, dateiname ) figure patch ( cos (2* pi *[0:n -1]/ n), sin (2* pi *[0:n -1]/ n), r, EdgeColor, k ) axis ([ -1 1-1 1]) axis square print ( -dpng, dateiname, -r600 ) Zum Einbinden der erstellten Grafiken in LATEX siehe LATEX-Aufgabe 10. Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 29 / 31

Aufgabe 26: Lösungsvorschlag % Musterloesung zur Aufgabe 26 clear ; close all % (i) zufallszahl =@(a,b) a+ rand ()*(b-a); % (ii) figure N =1000; v= randi (6,1,N)+ randi (6,1,N); h= histc (v,2:12); bar (2:12, h) title ( Absolute Haeufigkeiten beim Wuerfeln mit zwei Wuerfeln ) % ( iii ) figure N =100; x1= random_walk ( N); x2= random_walk ( N); x3= random_walk ( N); plot (1: N+1,x1, b,1:n+1,x2, r,1:n+1,x3, g ) title ( random walks ) xlabel ( t ) ylabel ( x(t) ) Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 30 / 31

Aufgabe 26: Lösungsvorschlag ff. Inhalt der Datei random_walk.m: function x= random_walk ( n) if false, % 1. Variante : mit Schleife ( langsam ) x= zeros (1,n +1) for jj =1:n, zufall = randi (2); if zufall ==1, x(jj +1)= x(jj )+1; else x(jj +1)= x(jj ) -1; if true, % 2. Variante : mit Summe ( schnell ) zufall =2* randi (2,1, n) -3; % ergibt n Zufallszahlen +1 oder -1 x= zufall *[ zeros (n,1) triu ( ones (n ))]; Dr. Martin Gutting (Uni Siegen) Octave/Matlab-Lösungen 31 / 31