MATLAB Repetitorium - Einführung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:MATLAB]]
{| class="wikitable"
|-
| '''Autor:'''  || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]
|-
| '''Termin:''' || 26.04.2024
|}
= Einstieg =
= Einstieg =
== Aufgabe 1.1 ==
== Aufgabe 1.1 ==
Zeile 30: Zeile 37:
== Aufgabe 1.2 ==
== Aufgabe 1.2 ==
Wählen Sie unterschiedliche Winkel w zwischen 0 und π. Berechnen Sie für jeden
Wählen Sie unterschiedliche Winkel w zwischen 0 und π. Berechnen Sie für jeden
Winkel die Summe der Quadrate von sin(w) und cos(w).
Winkel die Summe der Quadrate von <code>sin(w)</code> und <code>cos(w)</code>.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
| <strong>Musterlösung&thinsp;</strong>
Zeile 84: Zeile 91:
|}
|}
== Aufgabe 1.4==
== Aufgabe 1.4==
Was erhalten Sie, wenn Sie den Spaltenvektor v = [2;3] mit der Matrix A = [1 0;0 −1] multiplizieren? Was ist das Ergebnis von A * A?
Was erhalten Sie, wenn Sie den Spaltenvektor <code>v = [2;3]</code> mit der Matrix <code>A = [1 0;0 −1]</code> multiplizieren? Was ist das Ergebnis von <code>A * A</code>?
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
| <strong>Musterlösung&thinsp;</strong>
Zeile 100: Zeile 107:
|}
|}
==Aufgabe 1.5==
==Aufgabe 1.5==
Erzeugen Sie einen Zeilenvektor, der als Komponenten nicht Zahlen, sondern Buchstaben enthält. Überprüfen Sie den Typ des Vektors mit der Funktion whos.
Erzeugen Sie einen Zeilenvektor, der als Komponenten nicht Zahlen, sondern Buchstaben enthält. Überprüfen Sie den Typ des Vektors mit der Funktion <code>whos</code>.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tipp&thinsp;</strong>
|-
| [https://de.mathworks.com/help/matlab/characters-and-strings.html Artikel zum thema String und Char]
|}
 
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
| <strong>Musterlösung&thinsp;</strong>
Zeile 112: Zeile 125:
</source>
</source>
|}
|}
==Aufgabe 1.6==
==Aufgabe 1.6==
Versuchen Sie, durch bewusst falsche Anweisungen Fehlermeldungen zu erzeugen,
# Versuchen Sie, durch bewusst falsche Anweisungen Fehlermeldungen zu erzeugen, um ein Gefühl dafür zu bekommen, wie MATLAB auf Fehler reagiert.
um ein Gefühl dafür zu bekommen, wie MATLAB auf Fehler reagiert.
# Verwenden Sie die Cursor-Tasten, um aus der Command History vorher bereits benutzte Befehle zu wiederholen und zu verändern.
Verwenden Sie die Cursor-Tasten, um aus der Command History vorher bereits
# Schauen Sie sich auch einmal den Workspace-Editor an, mit dem Sie zum Beispiel die Inhalte von Variablen mittels Copy & Paste nach MS-Excel übernehmen können.
benutzte Befehle zu wiederholen und zu verändern.
Schauen Sie sich auch einmal den Workspace-Editor an, mit dem Sie zum Beispiel
die Inhalte von Variablen mittels Copy & Paste nach MS-Excel übernehmen können.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
| <strong>Musterlösung&thinsp;</strong>
Zeile 136: Zeile 147:
|}
|}
----
----
= Symbolisches Rechnen =
'''Hinweis:''' Statt „* / ^“ verwenden sie „.* ./ .^“ (Punktoperator vor Operation anwenden)
== Aufgabe 2.1 ==
Definieren Sie folgende Funktionen mit Matlab (Befehle: syms)


<!-- <math></math><br> -->
----
<math>y=2x^2+12x^2+19x+9</math><br>
→ Termine [[MATLAB_Repetitorium_-_Einführung|1]] <br>
<math>y=-\frac{1}{58}(x^2-100x-416)</math><br>
→ [[MATLAB-Befehle| MATLAB<sup>®</sup> Befehlsübersicht]]<br>
<math>y=-\frac{(x-1)(x+5)}{(x+1)^2(x-3)}</math>
→ zurück zum Hauptartikel: [[MATLAB_Repetitorium|MATLAB Repetitorium]]
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
% Aufgabe 2.1:
syms x y
y = 2.*x.^3 + 12.*x.^2 + 19.*x + 9;
y = (-1./58)*(x.^2 - 100.*x -416);
y = ((x-1).*(x+5))./((x+1).^2 .* (x-3));
clear x y
</source>
|}
 
== Aufgabe 2.2 ==
Multiplizieren Sie folgende Ausdrücke aus (Befehle: expand())
 
<math>(3x-2y)^3</math><br>
<math>(4x-y)^4</math><br>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
% Aufgabe 2.2:
syms x y
expand((3.*x - 2.*y)^3);
expand((4.*x - y)^4);
clear x y
</source>
|}
== Aufgabe 2.3 ==
Vereinfachen Sie folgende Ausdrücke (Befehle: exp(), log(), simplify())
 
<math>sin(x)^2+cos(x)^2</math><br>
<math>e^{ln(x)}</math><br>
<math>\frac{a^2-b^2}{a-b}</math><br>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
% Aufgabe 2.3:
syms x y
simplify(sin(x).^2 + cos(x).^2);
simplify(exp(log(x)));
simplify((x.^2 - y.^2)./(x-y));
clear x y
</source>
|}
 
== Aufgabe 2.4 ==
Verwenden Sie simplify zur Ausführung der Polynomdivision P3/P1.
 
<math>P_3(x)=x^3-6x^2-x+6=0,\ P_1(x)=x-1</math><br>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
% Aufgabe 2.4:
syms x P1 P3
P1 = x - 1;
P3 = x.^3 - 6.*x.^2 - x + 6;
simplify(P3/P1);
clear x P1 P3
</source>
|}
 
== Aufgabe 2.5 ==
Lösen Sie folgende Gleichungen (Befehl: sqrt(), log10(), solve()).
 
'''Hinweis:''' Benutzen Sie „==“ statt „=“
 
<math>11-\sqrt{x+3}=6</math><br>
<math>3^x=4^{x-2}\cdot 2^x</math><br>
<math>lg(6x+10)-lg(x-3)=1</math><br>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
% Aufgabe 2.5:
syms x
solve(11-sqrt(x+3) == 6, x);
solve(3.^x == 4.^(x-2) .* 2.^x, x);
solve(log10(6.*x + 10) - log10(x - 3) == 1, x);
clear x
</source>
|}
 
== Aufgabe 2.6 ==
Berechnen Sie folgende Grenzwerte (Befehle: limit(), inf).
 
<math>^{lim}_{x\rightarrow 0}\frac{2x^2+5x}{3x}</math><br>
<math>^{lim}_{x\rightarrow \infty}\frac{1}{x}</math><br>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
% Aufgabe 2.6:
syms x
limit((2.*x^2 + 5.*x)./(3.*x),x,1);
limit(1./x,x,inf);
clear x
</source>
|}
 
== Aufgabe 2.7 ==
Berechnen Sie die erste und zweite Ableitung folgender Funktionen (Befehle: diff()).
 
<math>x^5\cdot ln(x)</math><br>
<math>4\cdot \sin(x)\cdot tan(x)</math><br>
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Musterlösung&thinsp;</strong>
|-
| <source line lang="matlab" style="font-size:medium">
% Aufgabe 2.7:
syms y x
y = x.^5 + log(x);
ydiff = diff(y);
ydiffdiff = diff(ydiff);
subplot(121)
fplot(y);
subplot(122);
fplot(ydiff);
 
y = 4.*sin(x).*tan(x);
ydiff = diff(y);
ydiffdiff = diff(ydiff);
clear x y
</source>
|}

Aktuelle Version vom 16. September 2024, 14:52 Uhr

Autor: Prof. Dr.-Ing. Schneider
Termin: 26.04.2024

Einstieg

Aufgabe 1.1

Quadrieren Sie die Zahlen 3, pi, −1 und i mithilfe des Operators „^“ und ziehen Sie aus den Ergebnissen jeweils die Wurzel.

Aufgabe 1.2

Wählen Sie unterschiedliche Winkel w zwischen 0 und π. Berechnen Sie für jeden Winkel die Summe der Quadrate von sin(w) und cos(w).

Aufgabe 1.3

Erzeugen Sie das 1x5-Array sval, das die fünf Sinus-Werte für die Bogenmaß-Winkel 0, π/6, π/4, π/2 und π enthält. Führen Sie die gleichen Rechnungen für die Grad-Winkel 0, 30°, 45°, 90° und 180° durch. Hierzu müssen Sie die Winkel ins Bogenmaß umrechnen, da die MATLAB-Funktionen sin und cos ihre Argumente im Bogenmaß erwarten – zur Erinnerung: π entspricht 180°.

Versuchen Sie es auch einmal mit den Funktionen sind und cosd.

Aufgabe 1.4

Was erhalten Sie, wenn Sie den Spaltenvektor v = [2;3] mit der Matrix A = [1 0;0 −1] multiplizieren? Was ist das Ergebnis von A * A?

Aufgabe 1.5

Erzeugen Sie einen Zeilenvektor, der als Komponenten nicht Zahlen, sondern Buchstaben enthält. Überprüfen Sie den Typ des Vektors mit der Funktion whos.

Aufgabe 1.6

  1. Versuchen Sie, durch bewusst falsche Anweisungen Fehlermeldungen zu erzeugen, um ein Gefühl dafür zu bekommen, wie MATLAB auf Fehler reagiert.
  2. Verwenden Sie die Cursor-Tasten, um aus der Command History vorher bereits benutzte Befehle zu wiederholen und zu verändern.
  3. Schauen Sie sich auch einmal den Workspace-Editor an, mit dem Sie zum Beispiel die Inhalte von Variablen mittels Copy & Paste nach MS-Excel übernehmen können.


→ Termine 1
MATLAB® Befehlsübersicht
→ zurück zum Hauptartikel: MATLAB Repetitorium