Title | Matlab Befehle - Zusammenfassung Informatik |
---|---|
Course | Informatik |
Institution | Universität Duisburg-Essen |
Pages | 19 |
File Size | 808.9 KB |
File Type | |
Total Downloads | 16 |
Total Views | 145 |
Zusammenfassung ALLER im Skript befindlichen Befehle, sehr sehr hilfreich für die Klausurvorbereitung...
1) Ausgabeformatierung Funktionen
Beschreibung
format short
4 Dezimalziffern
format long
16 Dezimalziffern
format short/ long e
4/16 Dezimalziffern in wissenschaftlicher Notation mit Exponent
format short/ long g
Matlab wählt bestes Anzeigeformat
format compact/ loose
Matlab druckt keine/zusätzliche Leerzeile aus
format bank
2 Dezimalstellen
format hex
Zahl in hexadezimaler Schreibweise
format rat
Zahl als Bruch
get(0,'Format')
gibt aktuelles Format aus
get(0,'FormatSpacing')
Gibt aktuelles
2) Häufig benutzte Mathematische Funktionen Hilfe für Funktionen (Kurzinfo): >> “help funktionsname” in Kommandozeile eintippen Dokumentation der Funktionen (Ausführliche Beschreibung): >> “doc funktionsname” Funktionen
Beschreibung
sqrt(x)
berechnet die Quadratwurzel von x
abs(x)
berechnet den Absolutbetrag von x
sign(x)
berechnet das Vorzeichen von x
exp(x)
berechnet e^x
log(x)
berechnet den log zur Basis e
log10(x)
berechnet den log zur Basis 10
round(x)
rundet ab/auf zur nächst kleineren/größeren ganzen Zahl
floor(x)
rundet immer ab zur nächsten kleineren ganzen Zahl
ceil(x)
rundet immer auf zur nächsten größeren ganzen Zahl
fix(x)
rundet zur Null hin
rem(a,b)
Formel: r = a - b. * fix(a./b)
mod(a,b)
Formel: r = a - b. * floor(a./b)
complex(a,b)
erstellt komplexe Zahl(Real/ Imaginärteil)
real()
gibt Realteil einer komplexen Zahl aus
imag()
gibt Imaginärteil einer komplexen Zahl aus
angle()
berechnet Winkel einer komplexen Zahl im Bogenmaß
conj()
berechnet komplex-konjugierte Zahl
→ Punkt vor Operator(.): Operator wird als Array-Operator und nicht als Matrix-Operator verwendet. (Bei ‘+’ und ‘-’ sind Operatoren gleich, also kein Punkt notwendig) Matrix-Operator: Operationen gehorchen den Regeln der linearen Algebra. Array-Operator: Operationen werden Element für Element ausgeführt.
3) Arithmetische Operatoren und Konstanten Operator
Beschreibung
+
Addition
-
Subtraktion
*
Multiplikation
/
Division (Dividend rechts, normale Bruchrechnung)
\
Division (Dividend links, mathematisch so nicht definiert, aber in Matlab)
^
Exponentiation
‘
berechnet komplex-konjugierte Zahl, Matrizen bzw. Vektoren transponieren
~
logische Verneinung, wandelt jeden Datentyp in den Typ ‘logical’ um
==
prüft, ob zwei Ausdrücke gleich sind; gibt logische 1(wahr) oder 0 (falsch) aus
~=
prüft, ob zwei Ausdrücke gleich sind; gibt logische 1(falsch) oder 0 (wahr) aus
größer / kleiner
=
größer gleich / kleiner gleich
& / &&
Logisches UND (Kompletter Ausdruck wird ausgewertet/ 2. Ausdruck wir nur ausgewertet, wenn der 1. wahr ist)
| / ||
Logisches ODER (Kompletter Ausdruck wird ausgewertet/ 2. Ausdruck wir nur ausgewertet, wenn der 1. falsch ist)
logical(),
wandelt 0 und 1 in in Datentypen ‘logical’; jede andere Zahl wird in eine logische 1 umgewandelt
Konstante(Bezeichnung)
Wert
pi
Pi, 3.1416
i/ j
imaginäre Einheit, sqrt(-1)
+/- Inf
+/- Unendlich
NaN
Not-a-Number, Ergebnis nicht definiert
4) Häufig benutzte trigonometrische Funktionen Funktion
Beschreibung
sin(),cos(),tan(),cot()
berechnet Sinus,Kosinus,... in Bogenmaß
sinh(),cosh(),...
berechnet hyberbolischen Sinus,.. in Bogenmaß
asin(),acos(),...
berechnet Arkussinus,... in Bogenmaß
asinh(),acosh(),..
berechnet hyberbolsichen Arkussinus in Bogenmaß
sind(),cosd(),tand(),cotd()
berechnet Sinus,... in Grad
asind(),acosd(),atand(),acotd()
berechnet Arkussinus,... in Grad
5) Datentypen
Datentyp
Beschreibung
char
für “kleine” Zeichenketten(mit ’... ’ eingeschlossen)
double
für reelle Zahlen
double(complex)
für komplexe Zahlen
int32
für ganze Zahlen(Vorzeichen, 32 Bit)
logical
für logische Zahlen
cell
cell-Arrays
6) Allgemeine Befehle Befehl
Beschreibung
iskeyword
Gibt Schlüsselwörter aus(welche nicht als Bezeichner benutzt werden dürfen)
who
Gibt alle eigendefinierten Variablen aus
who x*
Gibt alle eigendefinierten Variablen aus, die mit x beginnen
whos
Gibt alle eigendefinierten Variablen aus(ausführlich)
clear
Löscht eigendefinierte Variablen
clear y
Löscht die Variable y
clear y*
Löscht alle Variablen, welche mit y beginnen
clc
Löscht Command Window
save
speichert Variablen in matlab.mat
save (kein .mat nötig)
speichert Variablen in filename.mat
save x
speichert Variable x in filename.mat
load
lädt Variablen aus matlab.mat
load
lädt Variable aus filename.mat
edit
öffnet Texteditor
pwd (‘Print working directory’)
zeigt das aktuelle Arbeitsverzeichnis an
ls (‘list’)
listet Dateien/ Ordner im aktuellen Verzeichnis auf
cd (‘change directory’)
wechselt in
cd ..
wechselt in übergeordnetes Verzeichnis
mkdir (‘make directory’)
erstellt im aktuellen Arbeitsverzeichnis
rmdir (‘remove directory’)
löscht
delete
Löscht Datei
tic
Start eines Timers
toc
Ausgabe des Timers
run
Ausführen einer Scriptdatei
error(msg)
error(msg) throws an error and displays an error message.
error(msg,A1,...,An)
displays an error message that contains formatting conversion characters, such as those used with the MATLAB®sprintf function. Each conversion character in msg is converted to one of the values A1,...,An
errordlg(msg)
erstellt Dialogfeld mit error message
pause
hlt die Berechnung an und wartet auf einen Tastendruck auf der Tastatur.pause(n) hlt eine Berechnung für n Sekunden an
7) Bezeichnung von Variablen 1. 2. 3. 4.
Müssen mit Buchstabe beginnen Max. 63 Zeichen Es gibt Groß- und Kleinschreibung Keine `Schlüsselwörter` (Schlüsselwörter mit ‘iskeyword’ ausgeben lassen)
8) Eingabe/Ausgabe von Variablen Befehl
Beschreibung
input(‘...’)
Eingabeaufforderung für Tastatur (... wird angezeigt (erwartet double, für Char mit ’...’)
input(‘...’ , ‘s’)
Eingabeaufforderung (erwartet String, ohne ‘...’)
inputdlg(...)
erstellt Dialogfeld für Benutzereingaben, https://de.mathworks.com/help/matlab/ref/in putdlg.html
disp(x)
Gibt Variable x aus (x ist beliebiger Datentyp)
disp([x y z])
gibt mehrere Variablen aus (müssen vom gleichen Datentyp sein)
num2str()
wandelt Zahl in String um (hilfreich für disp([...]))
9) Kommentare Zeug
Beschreibung
%
Einzeiliger Kommentar
%{........%}
Mehrzeiliger Kommentar
%%
Code Abschnitt
10) Die fünf elementaren Algorithmusschritte 1) 2) 3) 4) 5)
Folge (Sequenz) -> Die Schritte werden Schritt für Schritt ausgeführt Zuweisung (Variablen) Auswahl (Verzweigung, Selektion) Schleife (Wiederholung, Iteration) Aufruf
11) Funktionen Muster function [x,y,z,...]=funktionsname(Para1, Para2, ...) %Kommentare unter dem Funktionskopf werden mit help funktionsname() in der Kommandozeile aufgerufen (Gut geeignet für Funktionsbeschreibung) %Unter den Kommentaren muss eine Leerzeile platz gelassen werden --Hier kommt der Algorithmus hin x= …; y= …; z= …; end
%%Datei muss unter dem selben Namen abgespeichert werden (also funktionsname.m) Function muss in der Kommandozeile mit [x1, x2, x3..]= funktionsname( Wert1,Wert2,..) angesprochen werden!
12) Matrizen und Vektoren Funktionen
Beschreibung
size(X)
gibt Größe der Matrix aus
A(m,n)
gibt Wert in der m-ten Zeile und n-ten Spalte an
A(m,:)
gibt alle Werte der m-ten Zeile aus
dot(a,b)
berechnet Skalarprodukt
cross(a,b)
berechnet Kreuzprodukt
eye(n)
erstellt nxn Einheitsmatrix
zeros(m,n)
erstellt mxn Nullermatrix
ones(m,n)
erstellt mxn Einsermatrix
diag(v, k)
erzeugt ein zweidimensionales Feld aus den Werten im eindimensio- nalen Feld v; der Wert k = 0beschreibt die Hauptdiagonale, k = 1, 2, ... beschreibt Diagonale der Reihen 1, 2, ... darüber, k = -1, -2, ... darunter.
Beispiel: diag([1 2 3], 1) >> 0 1 0 0 .. 0 0 2 0 .. . . . .
isvector(A)
isvector(A) returns logical 1 (true) if size(A) returns [1 n] or [n 1] with a nonnegative integer value n, and logical 0 (false) otherwise.
ndims(X)
gibt die Dimension der Matrix aus
length(X)
returns the length of the largest array dimension in X
./ .\
elementweise Rechts/Links-Division
.*
elementweise Multiplikation
*
Matrizenmultiplikation
1:0.5:3
gibt “1 1.5 2 2.5 3” aus
end
ber das Schlüsselwort end kann die letzte Zeile oder Spalte einer Matrix angesprochen werden, selbst wenn deren Größe nicht bekannt ist.
C=A(:)
Wandelt die Matrix A in eine eindimensionale Matrix C um
linspace(x,y,n)
erstellt Zeilenvektor mit Startwert x und Endwert y mit n äquidistanten Zwischenwerten
logspace(x, y, n)
erstellt einen eindimensionales Feld (als Zeile) mit Startwert 10x, Endwert 10y und insgesamt n logarithmisch verteilten Werten
[X, Y] = meshgrid(x, y)
erzeugt zwei zweidimensionale Felder, wobei im ersten Feld X die Werte des eindimensionalen Felds x in soviele Zeilen kopiert werden, wie das Feld y Zeilen (oder Spalten) hat, und im zweiten Feld Y soviele Spalten mit den Werten von y kopiert sind, wie das Feld x Spalten hat.
fliplr(A)
spiegelt ein zweidimensionales Feld A von links nach rechts.
flipud(A)
spiegelt ein zweidimensionales Feld A von unten nach oben.
rand(m, n)
erzeugt ein zweidimensionales Feld der Größe m n mit Zufallszahlen. Intervall ]0, 1[
Mean(A)
berechnet arithmetisches Mittel der Matrix A
max()
returns the maximum elements of an array
[M,I] = max(___)
finds the indices of the maximum values of A and returns them in output vector I, using any of the input arguments in the previous syntaxes
e=eigen(A) [V D] = eigen(A)
e gibt Eigenwerte V ist Matrix mit Eigenvektoren D ist eine Diagonalmatrix mit den Eigenwerten
ES GIBT KEINEN INDEX 0 !!1! x =[1,2,3;4,5,6] x= [1 2 3 4 5 6 ] x(1,2)=2
13) Funktionen Plotten Funktionen
Beschreibung
plot(x1,y1, ‘style1’,x2,y2,’style2’’)
zeichnet einen Strecken-/Linienzug durch die in x und y gegebenen Punktepaare.
fplot(@(x) sin(x))
Ausgabe von
grid on/minor
Gitterlinien im Plot anzeigen
xlabel('string') ylabel('string') title('ueberschrift') +TeX Markup
https://de.mathworks.com/help/matlab/ref/titl e.html
axis([xmin xmax ymin ymax]) weitere Kurven über weitere plot-Befehlein das gleiche Diagramm zu plotten
hold on/off
text(x, y, 'string') legend('string1', 'string2, ...)
Eine Position der Legende kann über zwei zustzliche Parameter 'Location' und 'north', 'east', 'south', 'west', 'northeast','northwest' angegeben werden
figure
https://de.mathworks.com/help/matlab/ref/fi gure.html
figure handle
https://de.mathworks.com/help/matlab/ref/g cf.html#btxcs49-2
Subplot
https://de.mathworks.com/help/matlab/ref/s ubplot.html
Styles Plot
Linientyp
Indikat or
durchgezogen -
Punkttyp
Indikat or
Farbe
Indikat or
Punkt
.
blau
b
gepunktet
:
Kreis
o
grün
g
Strichpunkt
-.
Kreuz
x
rot
r
gestrichelt
--
Pluszeichen
+
cyan
c
Quadrat
s
magenta m
Diamant
d
gelb
y
schwarz
k
weiss
w
Dreieck unten v Dreieck oben
^
14) Bedingungen If - Bedingung if expression statements elseif expression statements else statements end
Switch - Case - Anweisung switch switch_expression case case_expression statements case case_expression statements ... otherwise statements end
Die auzuwertene Anweisug muss ein String oder Skalar.
15) Boolesche Algebra
Logische Wahrheitswerte als Index
Logische Operatoren
Funktionen
Beschreibung
logical(A)
Die vordefinierte Funktion logical wandelt Zahlen in logische Werte um, also jede Zahl ungleich Null in die Zahl 1 für
x= true
x=logical(1)
x=false
x=logical(0)
true(m,n)
logical Matrix m x n mit logischer 1
false(m,n)
logical Matrix m x n mit logischer 0
~expression / not(expression)
Negation von expression
x & y / and(x,y)
logisches UND
x | y / or(x,y)
logisches ODER
x && y
Sequentielles logisches UND
x || y
Sequentielles logisches ODER
xor(x,y)
Exclusive ODER
any(A)
True if any element of a vector is a nonzero number
all(A)
True if all elements of a vector are nonzero
Bitweise logische Operatoren
Funktionen
Beschreibung
bitand(x,y)
bitweises UND
bitcmp(x)
Flipt Bits
bitor(x,y)
bitweises ODER
bitxor(x,y)
bitweises Exclusive ODER
bitset
SET Bit
bitget
GET Bit
bitshift(A,K)
returns the value of A shifted to the left by K bits
islogical(_) liefert true, falls das Argument Boolesch ist, sonst false. isnumeric(_) liefert true, falls das Argument numerisch ist, sonst false. isinteger(_) liefert true, falls das Argument ein integer Typ/eine ganze Zahl ist, sonst false. isfloat(_) liefert true, falls das Argument eine Gleitpunktzahl vom Typ single oder double ist, sonst false. isinf(_) liefert true, falls das Argument -∞ oder ∞ ist, sonst false. isnan(_) liefert true, falls das Argument NaN ist, also keine darstellbare Zahl(en), sonst false. isreal(_) liefert true, falls das Argument eine reellwertige und keine komplexe Zahl ist, sonst false. isa(_, 'class') liefert true, falls das erste Argument vom Typ 'class' ist, sonst false. Statt 'class' darf auch als Kategorie 'numeric', 'float' oder 'integer' angegeben werden. ischar(_) liefert true, falls das Argument ein Zeichen (beziehungsweise eine Zeichenkette) ist, sonst false. isletter(_) liefert true, falls das Argument ein Zeichen aus dem Alphabet ist, sonst false. iskeyword(_) liefert true, falls das Argument ein Schlüsselwort von Matlab ist, sonst false. isempty(_) liefert true, falls das Argument eine leere Liste/ein leeres Feld ist, sonst false. isspace(_) liefert true, falls das Argument ein sogenanntes weisses Zeichen, also ein Leerzeichen, Tabulator, Zeilenvorschub ist, sonst false.
16) Schleifen for-Schleife disp('table of square numbers'); for k = 1:1:10 disp(k * k); end gibt 1^2 bis 10^2 aus. for-Schleife Beispiel Reihe
n = 4; sum = 0; for k = 1:1:n
sum = sum + k; end Ist das gleiche wie ∑4𝑘=1
𝑘 = 1+2+3+4
while-Schleife Beispiel Reihe n=4; sum=0; k=1; while k Groß-Kleinschreibung wird ignoriert
compares s1 and s2 and returns 1 (true) if the two are identical and 0 (false) otherwise. Text is considered identical if the size and content of each are the same. The return result tf is of data type logical.
strtok(_)
teilt eine Zeichenkette als Argument in die erste Zeichenkette bis zum ersten Whitespace und die restliche Zeichenkette ab diesem.
18) Sprint und Fprint fprintf(formatSpec,A1,...,An);
Fprintf zeigt den Text nur im Command window. Sprintf speichert ihn in einem String. Formatspec
Conversion Character
Integer,
%d or %i
Base 10
%u
Base 10
%o
Base 8 (octal)
%x
Base 16 (hexadecimal), lowercase letters a–f
%X
Same as %x, uppercase letters A–F
%f
Fixed-point notation (Use a precision operator to specify the number of digits
signed
Integer, unsigned
Floatingpoint
after the decimal point.)
number %e
Exponential notation, such as 3.141593e+00 (Use a precision operator to specify the number of digits after the decimal point.)
%E
Same as %e, but uppercase, such as 3.141593E+00 (Use a precision operator to specify the number of digits after the decimal point.)
%g
The more compact of %e or %f, with no trailing zeros (Use a precision operator to specify the number of significant digits.)
%G
The more compact of %E or %f, with no trailing zeros (Use a precision operator to specify the number of significant digits.)
Characters
%c
Single character
%s
Character vector or string array. The type of the output text is the same as the
or strings
type of formatSpec.
Precision For %f, %e, or %E
Nu...