Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

6. Thema: Arbeiten mit Feldern

Ähnliche Präsentationen


Präsentation zum Thema: "6. Thema: Arbeiten mit Feldern"—  Präsentation transkript:

1 6. Thema: Arbeiten mit Feldern
Datenstrukturen 6. Thema: Arbeiten mit Feldern

2 Was sind Felder? Ein Feld ist eine Datenstruktur, deren Elemente alle von derselben skalaren Datenart sind Elemente sind ein- oder mehrdimensional angeordnet Anordnung in einer Dimension wird durch einen Index beschrieben

3 Eigenschaften von Feldern:
gleichwertige Elemente Länge einer Dimension ist unabhängig vom Wert der Indices in den anderen Dimensionen (keine Lücken)

4 Unterteilung:

5 Anlegen von Feldern (per Hand):
Matrizen A = [a11 a12 a13; a21 a22 a23] Vektoren - Zeilenvektoren: - b = [a11 a12 a13] - Spaltenvektoren - d = [a11; a21; a31]

6 Anlegen von Feldern (per Hand):
mehrdimensionale Felder Matrix A Matrix B ____________ C(:, :, 1) = A C(:, :, 2) = B

7 Besondere Funktionen zum Anlegen von Zeilenvektoren
c = [Start: Schrittweite: Ende] linspace linspace(-2,+3,50) liefert einen Vektor mit 50 zwischen -2 und +3 äquidistant verteilten Werten. logspace logspace(-2,+2,2000) liefert einen Vektor mit 2000 Werten, die auf einer logarithmisch skalierten Strecke zwischen 1.0e-2 und 1.0e+2 äquidistant verteilt sind.

8 Besondere Funktionen zum Anlegen von Matrizen
Magisches Quadrat A = magic(Länge) Einheitsmatrizen B = eye(Länge (, Länge) ) ones - liefert Felder beliebiger Gestalt, bei denen alle Elemente den Wert 1 haben. zeros - liefert Felder beliebiger Gestalt, bei denen alle Elemente den Wert 0 haben.

9 Besondere Funktionen zum Anlegen von mehrdimensionalen Feldern
Die Matlab-Funktion rand liefert Felder, deren Elemente gleichverteilte Zufallszahlen im Intervall(0,1) sind. rand(1,n) liefert einen Zeilenvektor der Länge n rand(n,1) liefert eine Spaltenvektor der Länge n rand(n) liefert eine quadratische n*n Matrix rand(n,m) liefert eine n*m Matrix rand(n,m,p) liefert ein n*m*p Feld

10 Besondere Funktionen zum Anlegen von mehrdimensionalen Feldern
randn liefert Felder beliebiger Gestalt, bei denen die Elementwerte normalverteilt mit Mittelwert 0 und Standardabweichung 1 sind.

11 Zugriff auf Feldbereiche
Vektoren - a(Index_D1) Matrizen und mehrdimensionale Felder - Elemente: B(Index_D1, Index_D2) - Bereiche: B(Index_D1, b23: b25) - Zeilen: B(Index_D1, :) - Spalten: B(:, Index_D2)

12 Rechenoperation auf Felder
Matrizen transponieren: A‘ Matrizen mit Matrizen oder Vektoren multiplizieren - B * C - D * e Komponentenweise Berechnung - t . * t Inverse einer Matrix: inv(A) Rang rank(A) Determinante det(A) Summe (Differenz) A + B (A - B) p-te Potenz A^p Skalarprodukt zweier Vektoren x‘ * y Äußeres Produkt zweier Vektoren x * y' Multiplikation mit Skalar c c * x Matrix-Vektor Produkt A * x Eine Besonderheit in MATLAB stellt die Matrix-Division dar. Hierbei gilt: X=A\B ist Lösung der Gleichung A*X=B X=B/A ist Lösung der Gleichung X*A=B Wenn bei der Matrix-Division anstelle der Matrix B ein Vektor b verwendet wird, so stell x=A\b gerade die Lösung des linearen Gleichungssystems A*x=b dar; bei der Lösung wird der Gaußsche Algorithmus verwendet. Eigenwerte und Eigenvektoren einer Matrix A können folgendermaßen berechnet werden: Vektor x der Eigenwerte: x=eig(A) Matrix X der Eigenvektoren, Diagonalmatrix D der Eigenwerte: [X,D]=eig(A)

13 Rechenoperation auf Felder
sum(Feld) – Addition aller Spalten sum(Feld‘) – Addition aller Zeilen sum(sum(Feld)) – Addition aller Feld Feldelemente, is auch mit dem Platzhalter ‘:‘ kombinierbar

14 Rechenoperation auf Felder
Cat – Mit Hilfe dieser Funktion kann man aus Feldern solche mit höheren Dimension aufbauen. Bsp.: cat(3, 2.0, 2.2, 2.4) ans(:,:,1) = 2 ans(:,:,2) = 2.2000 ans(:,:,3) = 2.4000


Herunterladen ppt "6. Thema: Arbeiten mit Feldern"

Ähnliche Präsentationen


Google-Anzeigen