MATLAB-Toolskurs HS17

Ähnliche Dokumente
Matlab: eine kurze Einführung

Einführung in die Grundlagen von Matlab. Ralph Neubecker

Matlab: eine kurze Einführung

Lösungen zu Mathematik I/II

Matlab Selbstlernkurs

Kommentierte Musterlösung zur Klausur HM II für Naturwissenschaftler

LABORÜBUNG MATLAB/OCTAVE

Octave/Matlab-Übungen

Aufgabe 2 (5 Punkte) y = 1 x. y + 3e 3x+2 x. von f. (ii) Für welches u in R 2 gilt f(u) = [3, 3, 4] T? x 2 + a x 3 x 1 4x 2 + a x 3 2x 4

Lösungen zu Mathematik I/II

Mathematik für Wirtschaftswissenschaftler im WS 12/13 Lösungen zu den Übungsaufgaben Blatt 12

Hörsaalübung 1 Differentialgleichungen I für Studierende der Ingenieurwissenschaften

31. Kurven in Ebene und Raum

Serie 13. Analysis D-BAUG Dr. Cornelia Busch FS 2016

3. Berechnen Sie auch die Beschleunigung a als Funktion der Zeit t. 4. Erstellen Sie ein SIMULINK Modell, das x(t) numerisch berechnet.

Prüfung zur Vorlesung Mathematik I/II

Übungsblatt Matlab-Zentralübung Musterlösung

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

Lösungen zu Mathematik I/II

Einführung in Matlab, 2. Teil

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

Mathematischer Vorkurs Lösungen zum Übungsblatt 3

Aufgaben für die 14. Übung zur Vorlesung Mathematik 2 für Informatiker: Analysis Sommersemester 2010

Stroppel Musterlösung , 180min. Aufgabe 1 (4 Punkte) Bestimmen Sie die folgenden Grenzwerte und Funktionengrenzwerte.

Höhere Mathematik III für die Fachrichtung Elektrotechnik und Informationstechnik

Klausurenkurs zum Staatsexamen (SS 2015): Differential und Integralrechnung 8

Partielle Integration

HTWD, FB Informatik/Mathematik Prof. Dr. M. Voigt. Mathematik II für Bauingenieure. (f) 4 sin x cos 5 x dx. 3 x e x2 dx (i) e 2x 1 dx.

Seite 1. sin 2 x dx. b) Berechnen Sie das Integral. e (t s)2 ds. (Nur Leibniz-Formel) c) Differenzieren Sie die Funktion f(t) = t. d dx ln(x + x3 ) dx

Lösung - Schnellübung 13

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

Numerische Verfahren Übungen und Lösungen, Blatt 1

ist ein Eigenvektor der Matrix A = Ist λ der Eigenwert zum Eigenvektor x der Matrix A, so gilt dafür A x = λ x, also

Projektaufgabe Mathematik II Der passive RC-Tiefpaß

Technische Universität München. Probeklausur Lösung SS 2012

Übungsaufgaben zu den mathematischen Grundlagen von KM

Lösung zur Klausur zur Analysis II

Serie 13: Online Test

Lösungen der Aufgaben zu Kapitel 10

Analysis I & II Lösung zur Basisprüfung

Einführung in die Programmierung (MA8003)

HTWD, FB Informatik/Mathematik. Mathematik für Bauingenieure. Wiederholungsaufgaben: Mathematik I

TECHNISCHE MECHANIK A (STATIK)

Serie 8 - Parametrisierte Kurven

Einführung in MATLAB

Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler

MATLAB Kurs SS Boris von Loesch. Technische Universität München Center for Mathematical Sciences, Chair of Mathematical Optimization

Bergische Universität Wuppertal Klausur zur Mathematik für Ingenieure - Bachelor

Prüfung zur Vorlesung Mathematik I/II

Einführung in MATLAB Blockkurs DLR:

Ingenieurinformatik II Numerik für Ingenieure Teil 2

Wirkungsquantum Ein Physikprotokoll

Mathematik II Frühlingsemester 2015 Kapitel 11: Gewöhnliche Differentialgleichungen

MATLAB: Kapitel 3 Programmieren

Numerisches Programmieren, Übungen

Übungen zur Ingenieur-Mathematik III WS 2011/12 Blatt Aufgabe 25: Berechnen Sie den kritischen Punkt der Funktion

NUMERISCHE MATHEMATIK I

Übungsblatt 3 Musterlösung

8. DIE ABLEITUNG EINER VEKTORFUNKTION

Klausur Mathematik I

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Vorkurs Mathematik (Allgemein) Übungsaufgaben

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

Basisprüfung, Gruppe A Analysis I/II

Klausurenkurs zum Staatsexamen (SS 2015): Differential und Integralrechnung 6

Apl. Prof. Dr. N. Knarr Musterlösung , 120min

Octave/Matlab-Übungen

Analysis1-Klausuren in den ET-Studiengängen (Ba) ab 2007

Mathematik II Frühjahrssemester 2013

MATLAB Kurs SS Boris von Loesch. Technische Universität München Center for Mathematical Sciences, Chair of Mathematical Optimization

Lösungen zu Mathematik I/II

Analysis II WS 11/12 Serie 9 Musterlösung

Kommentierte Musterlösung zur Klausur HM II für Naturwissenschaftler

Mathematik-Vorkurs. Übungsaufgaben. im Sommersemester 2012

Technische Universität Berlin Fakultät II Institut für Mathematik SS 13 G. Bärwolff, C. Mehl, G. Penn-Karras

4 Gewöhnliche Differentialgleichungen

Übungen zur Theoretischen Physik 1 Lösungen zum Mathe-Test

Transkript:

7 Analysis 1. Programmieren Sie für folgendes Polynom eine MATLAB Funktion oder eine anonyme Funktion: y(x) = 0.001x 5 + 0.05x 4 + 0.2x 3 x 2 0.8x + 4 Die Variable x ist der Eingabeparameter und y der Ausgang der MATLAB Funktion. Ermitteln Sie daraufhin die Minima und die Nullstellen des Polynoms. Wählen Sie für die Suche die Startwerte -3, -2,..., 4. Plotten Sie zum Schluss das Polynom. (fminsearch, fzero, plot) y = @(x) -0.001* x.^5+0.05* x.^4+0.2* x.^3 -x.^2-0.8* x +4; x0 = -3:4; minimum = zeros ( size (x0)); nullstelle = zeros ( size (x0)); for k = 1: numel (x0) minimum (k) = fminsearch (y,x0(k)); nullstelle (k) = fzero (y,x0(k)); end x = linspace ( -5,6,201) ; plot (x,y(x)) 2. Ermitteln Sie mit Hilfe von integral folgende bestimmte Integrale: π sin(x)dx, π/4 tan(x)dx, π sinh(x)dx, π cosh(x)dx, 1 e x dx, 1 ln(x)dx 0 0 π π 0 0 integral (@sin,0, pi) integral (@tan,0, pi /4) integral ( @sinh,-pi,pi) integral ( @cosh,-pi,pi) integral (@exp,0,1) integral (@log,0,1) 3. Ermitteln Sie mit Hilfe von integral folgende bestimmte Integrale: 4 4 cos(2x) x 2 + 2x + 2 + sin 3 (x)dx, 2π 0 x 3 sin 2 (x)dx, 0 π sin(x) cos 2 (x)dx Bemerkung: Die Funktionen sind zuerst in einer MATLAB Funktion zu definieren, da integral nur MATLAB Funktionen integriert. f = @(x) cos (2* x).* sqrt (x.^2 + 2*x + 2 + sin (x).^3) ; g = @(x) x.^3.* sin (x).^2; h = @(x) sin (x).* cos (x).^2; integral (f, -4,4) integral (g,0,2* pi) integral (h,-pi,0) 28

4. Der schiefe Wurf ist ein klassisches Beispiele für eine gewöhnliche lineare Differentialgleichung 2. Ordnung. Für die Dynamik eines Massenpunktes gilt: m a = F Da in diesem Beispiel der Luftwiderstand vernachlässigt wird, ist die Schwerkraft die einzige wirkende Kraft. a = x = g Die Gleichungen für den schiefen Wurf lauten somit: Die Lösungsschritte in MATLAB ẍ(t) = 0 ÿ(t) = g a) Substitution: Für die Berechnung einer gewöhnlichen Differentialgleichung n-ter Ordnung wird folgende Substitution gemacht: y (n) = f(t, y, y,..., y (n 1) ) geht über in y 1 = y, y 2 = y,... y n = y (n 1) Daraufhin wird in MATLAB die gewöhnliche Differentialgleichung n-ter Ordnung in ein System von n Differentialgleichungen 1. Ordnung umgeschrieben. y 1 = y 2 y 2 = y 3... y n = f(t, y, y,..., y (n 1) ) Die Gleichungen für den schiefen Wurf lauten nun: ẋ 1 = x 2 ẋ 2 = 0 ẏ 1 = y 2 ẏ 2 = g b) MATLAB Funktion: Das System von n Differentialgleichungen 1. Ordnung wird in einer MATLAB Funktion definiert. function dy = F(t,y) dy =[y(2) ;...; f(y (1),y (2),...,y(n))] Die MATLAB Funktionen für den schiefen Wurf : function dx = schieferwurfx ( t, x) dx =[x(2) ;0] function dy = schieferwurfy ( t, y) dy =[y(2) ; -10] 29

c) Lösen der gewöhnlichen Differentialgleichung: Mit dem Befehl ode45 kann nun eine Lösung für die gewöhnliche Differentialgleichung eruiert werden. [T,Y]= ode45 ('F',Zeitspanne, Anfangsbedingungen ) ode45 ermittelt für die n Differentialgleichungen 1. Ordnung, die in der MATLAB Funktion F definiert sind, die Lösung Y. Jedes Element einer Zeile der Matrix Y gehört zu einer Zeit, die im Spaltenvektor T abgespeichert wurde. Berechnen Sie nun für folgende Anfangsbedingungen die Bahnkurve des schiefen Wurfes: x 0 = y 0 = 0 ẋ 0 = 20 cos(π/4) ẏ 0 = 20 sin(π/4) Erstellen Sie eine Graphik vom schiefen Wurf. Zeitspanne: t [0... 3] Zuerst müssen 2 Funktions-Files erstellt werden: function dx = schieferwurfx ( t, x) dx =[x(2) ;0] function dy = schieferwurfy ( t, y) dy =[y(2) ; -10] Dann kann die eigentliche Berechnung erfolgen. [T,X]= ode45 ('schieferwurfx ',[0 3],... [0;20* cos (pi /4) ]); [T,Y]= ode45 ('schieferwurfy ',[0 3],... [0;20* sin (pi /4) ]); plot (X (:,1),Y (:,1) ) title ('Schiefer Wurf ') xlabel ('Weite [m]') ylabel ('Hoehe [m]') axis equal Lösung mit anonymen Funktionen: schieferwurfx = @(t,x) [x (2) ;0]; schieferwurfy = @(t,y) [y (2) ; -10]; [T,X]= ode45 ( schieferwurfx,[0 3],... [0;20* cos (pi /4) ]); [T,Y]= ode45 ( schieferwurfy,[0 3],... [0;20* sin (pi /4) ]); plot (X (:,1),Y (:,1) ) title ('Schiefer Wurf ') xlabel ('Weite [m]') ylabel ('Hoehe [m]') axis equal 30

8 Interpolation 1. Geben Sie folgende Vektoren im Command Window ein: x =[0 0. 6283 1. 2566 1. 8850 2. 5133 3. 1416]; y =[1 0. 9231-0.0083-0.9165 0. 9994-0. 9027]; xi= linspace (0,pi,201) ; Die Elemente in den Vektoren x und y sind Punkte aus einer unbekannten Funktion f = y(x). Der Vektor xi wurde im Intervall [0,pi] in 201 linear gleichmässig verteilte Punkte unterteilt. Ermitteln Sie die ursprüngliche Funktion, indem Sie anhand der Vektoren x und y für die Punkte aus dem Vektor xi die entsprechenden Werte des Vektors yi interpolieren. Tipp: Verwenden Sie für die Interpolation die Befehle interp1 oder spline. Probieren Sie beim Befehl interp1 die verschiedenen Interpolationsmethoden aus. Folgende Methoden stehen zur Verfügung: nearest, linear, spline und pchip. Plotten Sie die Resultate. x =[0 0. 6283 1. 2566 1. 8850 2. 5133 3. 1416]; y =[1 0. 9231-0.0083-0.9165 0. 9994-0. 9027]; xi= linspace (0,pi,201) ; scatter (x,y) plot (xi, interp1 (x,y,xi,'nearest ')) plot (xi, interp1 (x,y,xi,'linear ')) plot (xi, interp1 (x,y,xi,'spline ')) plot (xi, interp1 (x,y,xi,'pchip ')) plot (xi, spline (x,y,xi)) 2. Geben Sie folgende Vektoren und Matrizen im Command Window ein: x = -4:2:4; y = x; [X,Y] = meshgrid (x,y); Z = [0.6152-0.0124-4.4584-4.2023-0.5526-0.1435 3. 3787 1. 7615 0. 3065 2. 1865-2.8383 0. 6225 0. 9810 1. 1028 3. 5748-2.1566 0. 0124 0. 9523 1. 2113 2. 4250 0. 5643 4. 3627 7. 1144 4. 7406 1. 8047]; xi = linspace ( -4,4,101) ; yi = xi; [Xi,Yi] = meshgrid (xi,yi); Die Elemente in den Matrizen X, Y und Z sind Punkte aus einer unbekannten Funktion f = z(x, y). Die Vektoren xi und yi wurden im Intervall [-4,4] in 101 linear gleichmässig verteilte Punkte unterteilt. Für die Evaluation von Funktionen mit zwei Variablen können Vektoren mit dem Befehl meshgrid zu Matrizen transformiert werden. Ermitteln Sie die ursprüngliche Funktion, indem Sie anhand der Matrizen X, Y und Z für die Punkte aus den Matrizen Xi und Yi die entsprechenden Werte der Matrix Zi interpolieren. Tipp: Verwenden Sie für die Interpolation die Befehle interp2 oder griddata. Probieren Sie die verschiedenen Interpolationsmethoden aus. Plotten Sie die Resultate. x = -4:2:4; y = x; [X,Y] = meshgrid (x,y); 31

Z = [0.6152-0.0124-4.4584-4.2023-0.5526-0.1435 3. 3787 1. 7615 0. 3065 2. 1865-2.8383 0. 6225 0. 9810 1. 1028 3. 5748-2.1566 0. 0124 0. 9523 1. 2113 2. 4250 0. 5643 4. 3627 7. 1144 4. 7406 1. 8047]; xi = linspace ( -4,4,101) ; yi = xi; [Xi,Yi] = meshgrid (xi,yi); mesh (Xi,Yi, interp2 (X,Y,Z,Xi,Yi,'nearest ')) mesh (Xi,Yi, interp2 (X,Y,Z,Xi,Yi,'linear ')) mesh (Xi,Yi, interp2 (X,Y,Z,Xi,Yi,'cubic ')) mesh (Xi,Yi, interp2 (X,Y,Z,Xi,Yi,'spline ')) mesh (Xi,Yi, griddata (X,Y,Z,Xi,Yi,'natural ')) mesh (Xi,Yi, griddata (X,Y,Z,Xi,Yi,'v4 ')) 3. Geben Sie folgende Vektoren und Befehle im Command Window ein: x = [ -5-4 -1 1 2 3 5]; y = [ -5 4-3 2-1 0-3]; 32

scatter (x,y) axis ([ -6 6-6 6]) Passen Sie ein Polynom mit beliebiger Ordnung in die Punkte ein. Plotten Sie das Resultat. (polyfit, polyval) x = [ -5-4 -1 1 2 3 5]; y = [ -5 4-3 2-1 0-3]; scatter (x,y) axis ([ -6 6-6 6]) xi = linspace ( -5,5,201) ; p = polyfit (x,y,4) ; plot (xi, polyval (p,xi)) 33

9 Biegelinie In dieser Übung soll der Umgang mit Funktionen weiter vertieft werden. Aus der Mechanik ist Ihnen das Problem der Berechnung der Biegelinie bestens vertraut. Die Funktion Biegelinie.m (kann von der Homepage heruntergeladen werden) plottet die Biegelinie einer auf Biegung beanspruchten Welle, abhängig von der Position der Lager und der Belastungen. Folgende Features sind implementiert: Die Welle kann hyperstatisch gelagert sein Kein konstanter Querschnitt nötig (abgesetzte Welle) (konstante) Streckenlasten, Punktlasten, Momente Auflager und/oder breite Lager (entspricht der festen Einspannung eines Biegebalkens) Ausgegeben werden: Skizze der Welle mit den Belastungen der Lager Verlauf von Querkraft Biegemoment Steigung Biegelinie (als Plots und Datenvektoren) Skizzieren Sie einige Probleme, die Ihnen in der Mechanik begegnen könnten. Benutzen Sie die Funktion, um die Biegelinien zu berechnen. Die Programmschnittstelle ist folgende: [ x, T, M, Steigung, Durchbiegung ] =... Biegelinie ( E, Abschnitte, Auflager, BreiteLager,... Streckenlasten, Punktlasten, Momente ) Die Inputvariablen haben die Bedeutungen: E: Elastizitätsmodul (in MPa) Abschnitte: Matrix; die erste Spalte beinhaltet die Länge der Abschnitte, die zweite Spalte die Durchmesser (in mm) Auflager: Vektor mit den Positionen der Auflager BreiteLager: Vektor mit den Positionen der breiten Lager (diese nehmen Kräfte und Momente auf) Streckenlasten: Matrix; erste Spalte = Beginn der Streckenlast, 2. Spalte = Ende der Streckenlast, 3. Spalte = Betrag (in N/mm) Punktlasten: Matrix; 1. Spalte = Position, 2. Spalte = Wert (positiv oder negativ) (in N) Momente: Matrix; 1. Spalte = Position, 2. Spalte = Wert (positiv oder negativ) (in Nmm) Falls ein Argument nicht benötigt wird, [] einsetzen. 34

Beispiel: Abgesetzte Welle mit 2 Punktlasten E = 210000; Abschnitte = [50 20 80 30 50 20]; Auflager = [10 170]; BreiteLager = []; Streckenlasten = []; Punktlasten = [60 3000 125 800]; Momente = []; [ x, T, M, Steigung, Durchbiegung ] =... Biegelinie ( E, Abschnitte, Auflager, BreiteLager,... Streckenlasten, Punktlasten, Momente ); Beispiel: Doppelseitig eingespannter Balken mit Streckenlast (statisch überbestimmt!) E = 210000; Abschnitte = [ 500 60]; Auflager = []; BreiteLager = [0 500]; Streckenlasten = [0 500 2]; Punktlasten = []; Momente = []; [ x, T, M, Steigung, Durchbiegung ] =... Biegelinie ( E, Abschnitte, Auflager, BreiteLager,... Streckenlasten, Punktlasten, Momente ); 35

10 Datenanalyse Eine Aufgabe, die einem Ingenieur häufig begegnet, ist die Auswertung von Messdaten. Dies soll hier anhand eines Zugversuches geübt werden. Das Ziel ist, die Spannungs-Dehnungs-Kurve aus Rohdaten zu extrahieren und die Parameter eines einfachen Materialmodells zu bestimmen. Schreiben Sie dazu ein Skript, das folgende Punkte abarbeitet. Nützliche Matlab-Funktionen sind jeweils in Klammern angegeben, Sie können aber natürlich Ihre eigenen Ideen einbringen 1. Einlesen der Rohdaten Zugversuch.TRA, von der Homepage herunterzuladen (importdata) 2. Es werden nur die Spalten wahre Dehnung und wahre Spannung benötigt. Speichern Sie diese Daten in Vektoren. 3. Erstellen Sie ein Spannungs-Dehnungsdiagramm (plot) und beschriften Sie die Achsen 4. Die Fliesskurve sollte weder den elastischen Anteil noch den Anteil nach dem Einschnüren beinhalten. Filtern Sie die Daten deshalb so, dass nur die Wertepaare mit 0.002 < ϕ < 0.25 weiterverwendet werden, wobei ϕ für die wahre Dehnung steht (find oder logische Indizierung) 5. Definieren Sie eine Funktion (als anonyme Funktion oder in einem separaten File) mit zwei vektoriellen Input-Argumenten. Der erste Vektor soll die Dehnung sein, der zweite die Parameter für das Materialmodell, das folgende Form aufweist: k(ϕ, α) = α 1 α 2 e α 3ϕ α 4 (5) Hierbei steht k für die Fliessspannung 6. Definieren Sie eine weitere Funktion (als anonyme Funktion oder in einem separaten File), die die Summe der Fehlerquadrate in Abhängigkeit von α berechnet, also (norm) f(α) = k(ϕ, α) k Messung 2 (6) 7. Versuchen Sie nun, die Parameter α zu variieren, um die Fehlerfunktion f zu minimieren (fminsearch). Für die Optimierung werden Starwerte benötigt. Für α 1 können Sie ungefähr die maximale Spannung verwenden, für α 2 die Differenz zwischen maximaler Spannung und Streckgrenze, für α 3 und α 4 den Wert 1. 8. Erstellen Sie ein neues Plot-Fenster und plotten Sie die Messdaten als Kreise (natürlich nicht alle, nur etwa an 20 gleichverteilten Stellen (interp1)). Plotten Sie im gleichen Fenster die Kurve des Materialmodells und erstellen Sie eine Legende (legend) close all %% Definitionen % Dateiname filename = ' Zugversuch. TRA '; % Trennzeichen delimiter = ';'; % Anzahl Headerlinien nheader = 15; % Spaltennnummern der benoetigten Daten coltruestrain = 5; coltruestress = 6; 36

%% Datenimport data = importdata ( filename, delimiter, nheader ); truestrain = data. data (:, coltruestrain ); truestress = data. data (:, coltruestress ); %% Rohdaten plotten plot ( truestrain, truestress,'linewidth ',2) set (gca,'fontsize ',14) title ('Rohdaten ') xlabel ('wahre Dehnung [ -] ') ylabel ('wahre Spannung [ MPa ]') %% Rohdaten einschraenken ( logische Indizierung ) filter = truestrain >0. 002 & truestrain <0. 2; phi = truestrain ( filter ); k = truestress ( filter ); %% Materialmodell kalibrieren % Modellfunktion und Fehlerfunktion definieren model = @(p)(p (1) -p (2) * exp (-p (3) * phi.^p(4) )); errfun = @(P)( norm ( model (P)-k)); % Startwerte p0 = [ max (k) max (k)-min (k) 1 1]; % Optimierung parameters = fminsearch ( errfun, p0); %% Plotten der bereinigten Daten und des Materialmodells % Messdaten an 20 gleichverteilten Punkten auswerten phi_plot = linspace ( min ( phi ),max ( phi ),20); k_plot = interp1 (phi,k, phi_plot ); % Plotten hold all plot ( phi_plot, k_plot,'o',' linewidth ',2) plot (phi, model ( parameters ),' linewidth ',2) set (gca,'fontsize ',14) title ( sprintf ('Parameter : A =% -6.3 g B =% -6.3 g c =% -6.3 g m =% -6.3 g', parameters )) xlabel ('wahre Dehnung [ -] ') ylabel ('wahre Spannung [ MPa ]') legend ('Messdaten ','Fit ',' Location ',' northwest ') 37