Klausur-Matlab Flashcards
K
Welche Eingaben im command-window von MATLAB sind nötig, um eine Parabel im Intervall [-5;5] auszugeben?
x=linspace(-5,5,100);
y=x.^2;
plot(x,y)
Was muss man beim mal-nehmen von einer Zahl mit einem linspace immer beachten?
einen Punkt ( . ) vor das *-Zeichen!
.* .^
K
Schreiben sie einen MATLAB Quelltextabschnitt, der folgende Potenzsumme für ein beliebiges x berechnet:
p = summe( {von i=1 bis 20} (1/3) * (x^i) )
Hinweis:
summe( {von i=1 bis 20} x^i ) = x+x^2+x^3+x^4+…x^20
potenz = 1; summe = 0;
for i = 1 : 20 potenz = potenz * x; summe = summe + potenz; end p=1/3 * summe;
K
Schreiben sie alle Befehle (in der richtigen Reihenfolge) auf, die benötigt werdeb, um eine Linie vim Punkt (3;4) zum Punkt (6;-1) mit MATLAB zu plotten.
x = [3 6];
y = [4 -1];
plot(x,y)
ODER
plot([3 6], [4 -1])
K
Wie kann in MATLAB die Ausgabe im command-window unterdrckt werden?
mit einem Semikolon
;
K
Plotten sie in MATLAB einen Kreis um den Koordinatenursprung mit dem Radius 3.
(am besten mit Zettel)
t = 0 : 0.1 : 3 * pi+0.1 ; ODER t = linspace (0, 3*pi, 100);
x = 3cos(t);
y = 3sin(t);
plot(x,y)
Erstelle: Einheitsmatrix Einsmatrix Nullmatrix Diagonalmatrix
Einheitsmatrix: eye(n)
Einsmatrix: ones(n,m)
Nullmatrix: zeros(n,m)
Diagonalmatrix: diag(v) mit einem Vektor v
Entfernen einer Spalte/Zeile aus Matrix
Entfernen einer C(:,2)=[]
Hier zweite Spalte entfernt
Was beachten bei löschen von einzelnen Einträgen?
Einzelnes Element kann nur aus Vektoren, nicht aus Matrizen gelöscht werden
Lösung aus Ax=b
Lösung aus Ax=b :
x=inv(A)*b
Wichtig: Matrix muss invertierbar sein!
Wenn Matrix nicht invertierbar: Warnung: Matrix is singular
Lösung von Linearen Gleichungssystemen (LGS)
mit Backslash-Operator:
Ax=B → x=A\B
(v.a. wenn Matrix nicht invertierbar)
Matrix speichern:
> Eine Matrix C für später in einem Data-File (binär) speichern
> Um sie manuell einlesen zu können
> Eine Matrix C für später in einem Data-File (binär) speichern: save C (Datei heißt C.mat)
> Um sie manuell einlesen zu können:
save MeineMatrix.dat C -ascii
Matrix laden
Option1:
load MeineMatrix.dat
–> die Matrix heißt jetzt MeineMatrix
> C=load(´MeineMatrix.dat‘)
–> So bekommt die Matrix den Namen C
if-else-schleife bei matlab
if (a > b) ....disp(`a ist größer als b‘) elseif(a < b) ....disp(`b ist größer als a‘) else ....disp(`a ist gleich b‘) end
switch-funktion bei matlab
switch note \_\_case 1 \_\_\_\_disp(´sehr gut‘); \_\_case 2 \_\_\_\_disp(´gut‘); \_\_ ... \_\_otherwise \_\_\_\_disp(`keine gültige Note‘); end
Wie geht eine Fußgesteuerte Schleife in MATLAB?
Es gibt keine!!
Kopfgesteuerte Schleife (Wiedereintrittsbedingung)
Beispiel sucht erste Zahl die vielfach von 7 und durch 6 teilbar:
zahl=7; while(mod(zahl,6)~=0) ......zahl=zahl+7; end zahl
Zählschleife
–> Für wenn bekannt ist, wie oft Schleife durchlaufen wird
summe=0;
for n=2:2:100 // (von 2 bis 100 in 2er Schritten)
…..summe=summe+n;
end
Farben, Linien, Marker bei Plot
plot(x,y, ‘r:s‘);
–> r=red, : = gepunktete Linie, s=square
Inhalt des aktiven Plotfensters löschen
clf
Mehrere Plotfenster gleichzeitig
–> werden nummeriert
figure(n)
Was macht der Befehl figure(n)
Mehrere Plotfenster gleichzeitig (werden nummeriert)