From e81056717e673a97efafb2e333fe8156eaae1b0c Mon Sep 17 00:00:00 2001 From: musabe24 Date: Mon, 26 Feb 2024 16:58:38 +0100 Subject: [PATCH] =?UTF-8?q?L=C3=B6sungen=20der=20Aufgaben=20r=C3=BCberkopi?= =?UTF-8?q?ert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01 Erste Schritte/Aufgabe 1/Aufgabe1_c.m | 13 ++++++++ .../Aufgabe 1/Aufgabe1_c.mat | Bin 0 -> 259 bytes .../01 Erste Schritte/Aufgabe 1/Aufgabe1_e.m | 5 +++ .../01 Erste Schritte/Aufgabe 1/Aufgabe1_f.m | 27 ++++++++++++++++ .../01 Erste Schritte/Aufgabe 2/Aufgabe2_a.m | 3 ++ .../01 Erste Schritte/Aufgabe 2/Aufgabe2_b.m | 10 ++++++ .../01 Erste Schritte/Aufgabe 3/Aufgabe3.m | 30 ++++++++++++++++++ .../01 Erste Schritte/Aufgabe 4/myfunc.m | 6 ++++ .../01 Erste Schritte/Aufgabe 5/myfunc.m | 8 +++++ .../01 Erste Schritte/Aufgabe 6/vecAddition.m | 19 +++++++++++ .../01 Erste Schritte/Aufgabe 7/Drehmatrix.m | 9 ++++++ .../01 Erste Schritte/Aufgabe 7/Drehung.m | 10 ++++++ .../Aufgabe 7/linTransfEbene.m | 8 +++++ .../01 Erste Schritte/Aufgabe 8/Aufgabe8_a.m | 22 +++++++++++++ .../01 Erste Schritte/Aufgabe 8/Aufgabe8_b.m | 22 +++++++++++++ .../01 Erste Schritte/Aufgabe 8/Aufgabe8_c.m | 22 +++++++++++++ .../01 Erste Schritte/Aufgabe 8/Aufgabe8_d.m | 23 ++++++++++++++ .../01 Erste Schritte/Aufgabe 9/Aufgabe9.m | 30 ++++++++++++++++++ .../Aufgabe 3/Aufgabe3.m | 20 ++++++++++++ .../Aufgabe 4/Aufgabe4_a.m | 14 ++++++++ .../Aufgabe 4/Aufgabe4_b.m | 4 +++ .../Aufgabe 4/Aufgabe4_c.m | 5 +++ .../Aufgabe 4/Aufgabe4_d.m | 8 +++++ .../Aufgabe 4/Aufgabe4_e.m | 9 ++++++ .../Aufgabe 4/Aufgabe4_f.m | 13 ++++++++ .../Aufgabe 4/Aufgabe4_g.m | 5 +++ .../Aufgabe 5/Aufgabe5_a.m | 10 ++++++ .../Aufgabe 5/Aufgabe5_b.m | 10 ++++++ .../Aufgabe 5/Aufgabe5_c.m | 10 ++++++ .../Aufgabe 5/Aufgabe5_d.m | 10 ++++++ .../Aufgabe 5/Aufgabe5_e.m | 10 ++++++ .../Aufgabe 6/Aufgabe6_a.m | 5 +++ .../Aufgabe 6/Aufgabe6_b.m | 5 +++ .../Aufgabe 6/Aufgabe6_c.m | 7 ++++ .../Aufgabe 8/Aufgabe8_a1.m | 7 ++++ .../Aufgabe 8/Aufgabe8_a2.m | 7 ++++ .../Aufgabe 8/Aufgabe8_a3.m | 7 ++++ .../Aufgabe 8/Aufgabe8_a4.m | 7 ++++ .../Aufgabe 8/Aufgabe8_a5.m | 9 ++++++ 39 files changed, 449 insertions(+) create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_c.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_c.mat create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_e.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_f.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_a.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_b.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 3/Aufgabe3.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 4/myfunc.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 5/myfunc.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 6/vecAddition.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehmatrix.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehung.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/linTransfEbene.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_a.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_b.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_c.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_d.m create mode 100644 MATLAB/Uebungen/01 Erste Schritte/Aufgabe 9/Aufgabe9.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 3/Aufgabe3.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 4/Aufgabe4_a.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 4/Aufgabe4_b.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 4/Aufgabe4_c.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 4/Aufgabe4_d.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 4/Aufgabe4_e.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 4/Aufgabe4_f.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 4/Aufgabe4_g.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 5/Aufgabe5_a.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 5/Aufgabe5_b.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 5/Aufgabe5_c.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 5/Aufgabe5_d.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 5/Aufgabe5_e.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 6/Aufgabe6_a.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 6/Aufgabe6_b.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 6/Aufgabe6_c.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 8/Aufgabe8_a1.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 8/Aufgabe8_a2.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 8/Aufgabe8_a3.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 8/Aufgabe8_a4.m create mode 100644 MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 8/Aufgabe8_a5.m diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_c.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_c.m new file mode 100644 index 0000000..b3247e2 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_c.m @@ -0,0 +1,13 @@ +%Zuweisung der Variablen +x = 1; +y = 2; +z = 3; + +%Speichern des Workspaces +save Aufgabe1_c; + +%Löschen der Inhalte aus dem Workspace +clear; + +%Erneutes Laden des Workspaces, welches zuvor gepeichert wurde +load Aufgabe1_c.mat; \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_c.mat b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_c.mat new file mode 100644 index 0000000000000000000000000000000000000000..cfc4e3cd14bf099e3e177edd7e5b70d8a7afcd8f GIT binary patch literal 259 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w+L}(NSOcaO&3^2gx>B|pfD+6)GoX5!t2?h*FW(v<5 zE-4(~dTM;gP}!MvLK@R%2?+-AKMW5*N>y+xRRt=& x' zeigt die transponierte Matrix in der Kommandozeile an. \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_f.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_f.m new file mode 100644 index 0000000..a84c297 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 1/Aufgabe1_f.m @@ -0,0 +1,27 @@ +%Zuweisung einer Variable +x = 3; +fprintf('x = %f\n', x); + +%1. Bildung des Zehnerlogharitmus +y = log10(x); +fprintf('Bildung des Zehnerlogharitmus: y = log10(x) = %f\n', y); + +%2. Bildung des natürlichen Logharitmus +y = log(x); +fprintf('Bildung des natürlichen Logharitmus: y = log(x) = %f\n', y); + +%3. Runden auf den nächstgrößeren Integer-Wert +y = ceil(y); +fprintf('Runden auf den nächstgrößeren Integer-Wert: y = ceil(y) = %f\n', y); + +%4. Bildung des Absolutbetrags +a = -5; +fprintf('a = %f\n', a); +a = abs(a); +fprintf('Bildung des Absolutbetrags: a = abs(a); = %f\n', a); + +%5. Bildung des konjugiert komplexen Werts einer komplexen Zahl +Z = 7 + 9j; +fprintf('Z = %d + %dj\n', real(Z), imag(Z)); +Z = conj(Z); +fprintf('Bildung des konjugiert komplexen Werts einer komplexen Zahl Z = conj(Z) = %d + %dj\n', real(Z), imag(Z)); \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_a.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_a.m new file mode 100644 index 0000000..0ffe0a5 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_a.m @@ -0,0 +1,3 @@ +Z_1 = pi/2j; +Z_2 = -3 + 0.25j; +Z_3 = 1.25 - 0.58j; \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_b.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_b.m new file mode 100644 index 0000000..3d9b8f7 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 2/Aufgabe2_b.m @@ -0,0 +1,10 @@ +j = 3; +j_1 = 1i; +j_2 = 1j; +j_3 = i*i; +j_4 = j*j; +j_5 = 1j*1j; +j_6 = 1i*1j; +j_7 = i*j; +j_8 = 1e3*(-3+j); +j_9 = 1e3*(-3+1j); \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 3/Aufgabe3.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 3/Aufgabe3.m new file mode 100644 index 0000000..f6caf00 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 3/Aufgabe3.m @@ -0,0 +1,30 @@ +%a) Anlegen der Matrix A +A = [1 3 7 6; -3 2 8 5; 1.4 6 2 12]; + +%b) Erstellen der Nullmatrix B mit drei Zeilen und drei Spalen +B = zeros(3); + +% Spalten 1, 3 und 4 von A in die Spalten 1, 2 und 3 von B kopieren +B(:,1) = A(:,1); +B(:,2) = A(:,3); +B(:,3) = A(:,4); + +%c)Transponieren der Matrix B +B = B'; + +%d) Berechnung der Determinanten der Matrix B +D = det(B); + +%e) +x = linspace(0, 2*pi, 100); +f = sin(x + pi/4); +%plot(x, f); + +%f +anz_spalten = size(A,1); +anz_zeilen = size(A,2); +V = [1; 2; 3]; +M = [1 2 3 4; 5 6 7 8; 9 10 11 12]; +V_length = length(V); +M_length = length(M); +%-> length gibt immer die Länge der größten Dimension zurück. \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 4/myfunc.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 4/myfunc.m new file mode 100644 index 0000000..ed7a6c3 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 4/myfunc.m @@ -0,0 +1,6 @@ +function [Mittelwert, Standardabweichung] = myfunc(Eingangsvektor) + %Eine Funktion, die aus den Elementen eines Eingangsvektors den Mittelwert + % und die Standardabweichung ermittelt und beide Werte zurückgibt. + Mittelwert = sum(Eingangsvektor) / length(Eingangsvektor); + Standardabweichung = std(Eingangsvektor); +end \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 5/myfunc.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 5/myfunc.m new file mode 100644 index 0000000..bff2ce2 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 5/myfunc.m @@ -0,0 +1,8 @@ +function myfunc(Arg) + %Programmierung, Parameterübergabe + fprintf('Eingangsparameter: %f\n', Arg); + Arg = Arg + 1; + fprintf('Parameter nach Bearbeitung: %f\n', Arg); +end + +%Es wird nur der Wert übernommen, nicht die Referenz. \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 6/vecAddition.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 6/vecAddition.m new file mode 100644 index 0000000..99a593f --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 6/vecAddition.m @@ -0,0 +1,19 @@ +function res = vecAddition(v1,v2) + %Addition von zwei Vektoren + %Überprüfen, ob beide Objekte Vektoren sind + if not(isvector(v1) && isvector(v2)) + error('Mindestens einer der beiden Objekte ist kein Vektor.'); + end + + %Prüfen, ob beide Vektoren selbe Dimension haben + if not(length(v1) == length(v2)) + error('Die Vektoren haben unterschiedliche Dimensionen.'); + end + + %Umwandlung in Spaltenvektor + v1 = v1(:); + v2 = v2(:); + + %Addition beider Vektoren + res = v1 + v2; +end \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehmatrix.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehmatrix.m new file mode 100644 index 0000000..b7f6e3c --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehmatrix.m @@ -0,0 +1,9 @@ +function D = Drehmatrix(winkel) + %Berechnung der zweidimensionalen Drehmatrix; Winkel in Grad. + + %Umrechnung in Rad + winkelRad = (winkel * pi) / 180; + + %Generierung der Drehmatrix + D = [cos(winkelRad) -sin(winkelRad); sin(winkelRad) cos(winkelRad)]; +end \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehung.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehung.m new file mode 100644 index 0000000..c99a0aa --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/Drehung.m @@ -0,0 +1,10 @@ +function x = Drehung(winkel, vektor) + %Dreht den gegebenen 2D-Spaltenvektor um den angegebenen Winkel. + + %Erstellen der Drehmatrix + D = Drehmatrix(winkel); + + %Drehung, durch Multiplikation mit der Drehmatrix + vektor=vektor(:); + x = D * vektor; +end \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/linTransfEbene.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/linTransfEbene.m new file mode 100644 index 0000000..15beb36 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 7/linTransfEbene.m @@ -0,0 +1,8 @@ +function x = linTransfEbene(winkel, vektor, verschiebungsvektor) + %... + %Drehung des Vektors + x = Drehung(winkel, vektor); + + %Verschiebung des Vektors + x = x + verschiebungsvektor; +end \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_a.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_a.m new file mode 100644 index 0000000..9391f93 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_a.m @@ -0,0 +1,22 @@ +%Radius wird frei gewählt mit R = 1 +R = 1; + +%X und Y Ebene werden definiert +[X, Y] = meshgrid(-1:0.01:1); + +%Elemente für Z werden mit Umformung der Formel R^2 = X^2 + Y^2 + Z^2 berechnet +Z = sqrt(R^2 - X.^2 - Y.^2); + +%Darstellung der oberen Hälfte +surf(X, Y, real(Z), EdgeColor="none"); +hold on; +%Darstellung der unteren Hälfte +surf(X, Y, real(-Z), EdgeColor="none"); + +axis equal;%Gleichmäßige Achsenverhältnisse +xlabel("X"); +ylabel("Y"); +zlabel("Z"); +title("Kugeloberfläche"); + +annotation("textarrow", [0.2, 0.5], [0.6, 0.5], String="Mitte des Bildes"); \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_b.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_b.m new file mode 100644 index 0000000..a826eeb --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_b.m @@ -0,0 +1,22 @@ +%Radius wird frei gewählt mit R = 1 +R = 1; + +%X und Y Ebene werden definiert +[X, Y] = meshgrid(-1:0.01:1); + +%Elemente für Z werden mit Umformung der Formel R^2 = X^2 + Y^2 + Z^2 berechnet +Z = sqrt(R^2 - X.^2 - Y.^2); + +%Darstellung der oberen Hälfte +mesh(X, Y, real(Z)); +hold on; +%Darstellung der unteren Hälfte +mesh(X, Y, real(-Z)); + +axis equal;%Gleichmäßige Achsenverhältnisse +xlabel("X"); +ylabel("Y"); +zlabel("Z"); +title("Kugeloberfläche"); + +annotation("textarrow", [0.2, 0.5], [0.6, 0.5], String="Mitte des Bildes"); \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_c.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_c.m new file mode 100644 index 0000000..79b970d --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_c.m @@ -0,0 +1,22 @@ +%Radius wird frei gewählt mit R = 1 +R = 3; + +[PHI, THETA] = meshgrid(linspace(0, 2*pi, 50), linspace(0, pi, 50)); + +X = R * sin(THETA) .* cos(PHI); +Y = R * sin(THETA) .* sin(PHI); +Z = R * cos(THETA); + +%Darstellung der oberen Hälfte +surf(X, Y, Z, EdgeColor="none"); +hold on; +%Darstellung der unteren Hälfte +surf(X, Y, Z, EdgeColor="none"); + +axis equal;%Gleichmäßige Achsenverhältnisse +xlabel("X"); +ylabel("Y"); +zlabel("Z"); +title("Kugeloberfläche"); + +annotation("textarrow", [0.2, 0.5], [0.6, 0.5], String="Mitte des Bildes"); \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_d.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_d.m new file mode 100644 index 0000000..8f36ac4 --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 8/Aufgabe8_d.m @@ -0,0 +1,23 @@ +%Radius wird frei gewählt mit R = 1 +R = 3; + +[PHI, THETA] = meshgrid(linspace(0, 2*pi, 50), linspace(0, pi, 50)); + +X = R * sin(THETA) .* cos(PHI); +Y = R * sin(THETA) .* sin(PHI); +Z = R * cos(THETA); + +%Darstellung der oberen Hälfte +%surf(X, Y, Z, EdgeColor="none"); +fsurf('x^2') +hold on; +%Darstellung der unteren Hälfte +%surf(X, Y, Z, EdgeColor="none"); + +axis equal;%Gleichmäßige Achsenverhältnisse +xlabel("X"); +ylabel("Y"); +zlabel("Z"); +title("Kugeloberfläche"); + +annotation("textarrow", [0.2, 0.5], [0.6, 0.5], String="Mitte des Bildes"); \ No newline at end of file diff --git a/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 9/Aufgabe9.m b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 9/Aufgabe9.m new file mode 100644 index 0000000..62f2d2b --- /dev/null +++ b/MATLAB/Uebungen/01 Erste Schritte/Aufgabe 9/Aufgabe9.m @@ -0,0 +1,30 @@ +% Eingabe der Systemparameter +omega_n = input('Geben Sie die Kreisfrequenz omega_n ein: '); +K_P = input('Geben Sie den Verstärkungsfaktor K_P ein: '); +N = 500; + +% Dämpfungsgrade +D = [0.1, 0.3, 0.7, 1.0, 2.0, 3.0]; + +% Zeitachse definieren +t = linspace(0, 4, N); % Anpassen für angemessenen Zeitbereich + +% Erstellen der Sprungantworten für jeden Dämpfungsgrad +figure; % Erstellt ein neues Figure-Fenster +hold on; % Hält das aktuelle Figure-Fenster für mehrere Plots offen +for i = 1:length(D) + % Berechnung der Systemantwort + sys = tf(K_P * [omega_n^2], [1, 2*D(i)*omega_n, omega_n^2]); + [y, t] = step(sys, t); + + % Zeichnen der Sprungantwort + plot(t, y, 'DisplayName', sprintf('D = %.1f', D(i))); +end + +% Anpassungen des Diagramms +xlabel('Zeit (s)'); +ylabel('Ausgang'); +title('Sprungantworten eines PT2-Systems für verschiedene Dämpfungsgrade'); +legend('show'); % Zeigt die Legende an +grid on; % Fügt ein Gitter hinzu +hold off; % Beendet den "hold on"-Status \ No newline at end of file diff --git a/MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 3/Aufgabe3.m b/MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 3/Aufgabe3.m new file mode 100644 index 0000000..f3796ac --- /dev/null +++ b/MATLAB/Uebungen/02 Symbolic Math Toolbox/Aufgabe 3/Aufgabe3.m @@ -0,0 +1,20 @@ +syms t s; + +sigma = heaviside(t); + +SIGMA(s) = laplace(sigma,s); + +syms s D w_0 w_e; + +assume(w_0>0); +assumeAlso(0