|
|
Unterschied Zeilen- und Spaltenvektor |
|
Ajax |

Forum-Century
|
 |
Beiträge: 176
|
 |
|
 |
Anmeldedatum: 09.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.12.2011, 15:20
Titel: Unterschied Zeilen- und Spaltenvektor
|
 |
Hallo Zusammen,
ich hätte eine kleine Frage:
Gibt es einen Unterschied - vor allem im Hinblick auf Geschwindigkeit und Speicherausnutzung - ob ein großer Vektor (mehrere Millionen Elemente) als Zeilenvektor oder als Spaltenvektor definiert und anschließend mit diesem weiter gerechnet wird?
Vielen Dank im Voraus für eure Hilfe.
mfg
Ajax
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 01.12.2011, 15:26
Titel: Re: Unterschied Zeilen- und Spaltenvektor
|
 |
Hallo Ajax,
Nein, solange es nur um Vektoren geht, werden die Spalten und Zeilen exakt gleich im Speicher abgebildet.
Das sieht bei Matrizen aber ganz anders: Hier folgen die Elemente einer Spalte direkt aufeinander, während die Elemente einer Zeile eine "Spaltenbreite" von einander entfernt sind. Deshalb ist der Zugriff auf "M(:, 1)" viel schneller als auf "M(1, :)".
Gruß, Jan
|
|
|
Ajax |
Themenstarter

Forum-Century
|
 |
Beiträge: 176
|
 |
|
 |
Anmeldedatum: 09.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.12.2011, 15:32
Titel:
|
 |
Hallo Jan,
vielen Dank für die schnelle Antwort!
Nur im sicher zu gehen: wenn ich eine Matrix definiere, dann ist z.B. m = zeros(1000000,3) sinnvoller als m = zeros(3,1000000) wenn mit den Matrizen weiter gerechnet werden soll?!
Viele Grüße
Ajax
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 01.12.2011, 15:43
Titel:
|
 |
Hallo Ajax,
Das kommt darauf an. Wenn Du auf die Untervektoren der Länge 1000000 zugreifen musst, ist [1000000 x 3] die bessere Wahl. Beispiel:
Die Summe kann also über die Spalten schneller berechnet werden. Nun ist hier der Unterschied klein. Sowie die Arrays aber nicht mehr in den Prozessor-Cache passen kann der Unterschied auch ein Faktor von 100 sein.
Gruß, Jan
|
|
|
Ajax |
Themenstarter

Forum-Century
|
 |
Beiträge: 176
|
 |
|
 |
Anmeldedatum: 09.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.12.2011, 15:50
Titel:
|
 |
Hallo Jan,
alles klar. Vielen Dank noch einmal!
Viele Grüße,
Ajax
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|