|
|
Speicherbelegung bei unbekannter Länge eines Vektors |
|
Mihawk |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 30.01.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.01.2015, 16:12
Titel: Speicherbelegung bei unbekannter Länge eines Vektors
|
|
Hallo zusammen,
ich bin noch relativ neu in Matlab und bin viel am rum experimentieren.
Nun bin ich auf folgendes Problem gestoßen:
Wenn sich bei einer Schleife ein Vektor mit jeder Wiederholung um eine Spalte/ Zeile verlängert, sollte man ja den Vektor bereits im vorhinein erstellen um den Speicherplatz vorzubelegen. Beispielsweise mit zeros(1,n).
Im Sekantenverfahren zur Nullstellenberechnung zum Beispiel ist ja unbekannt bei welcher Iteration eine gewünschte Genauigkeit erreicht wird. Gibt es hier auch eine halbwegs elegante Möglichkeit den Speicherplatz schon vorzubelegen?
Vielen Dank & viele Grüße
Mihawk
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.01.2015, 19:09
Titel:
|
|
Hallo,
Möglichkeiten sind:
- eine Maximalgröße vorbelegen (üblicherweise begrenzt man ja die Anzahl der Iterationen)
- einen Block vorbelegen und bei Bedarf einen weiteren Block dazunehmen
In beiden Fällen muss man am Ende den nicht benötigten Teil wieder freigeben.
Insbesondere bei neueren MATLAB-Releases ist es jedoch so, dass die Verlangsamung durch fehlende Vorbelegung häufig minimal ist.
Grüße,
Harald
|
|
|
Mihawk |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 30.01.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.01.2015, 19:19
Titel:
|
|
Danke für die Antwort, vor allem das die Verlangsamung nur sehr gering ist gut zu wissen!
Die Anzahl der Iterationen ist bei mir nur durch erreichen der Genauigkeit begrenzt. Bei Vorgabe einer stetig-differentierbaren Funktion und bei VZW in dem Intervall muss es dann ja eine Nullstelle geben.
Könntest du mir evtl. ein Beispiel für die vorbelegung und spätere Besetzung von einzelnen Blöcken geben? ich kann mir da gerade nichts drunter vorstellen.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 31.01.2015, 10:39
Titel:
|
|
Hallo,
Zitat: |
vor allem das die Verlangsamung nur sehr gering ist gut zu wissen! |
So allgemein habe ich das nicht geschrieben und würde ich auch nicht sagen. Es ist nur in vielen Fällen so.
Zitat: |
Könntest du mir evtl. ein Beispiel für die vorbelegung und spätere Besetzung von einzelnen Blöcken geben? |
z.B. so:
Grüße,
Harald
|
|
|
|
|
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 - 2024
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.
|
|