|
Thomas_74 |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 06.02.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.10.2009, 17:08
Titel: X(end+1)=Y beschleunigen
|
|
Hi,
wie kann ich X(end+1)=Y beschleunigen wenn ich nicht weiss wie lange die Liste wird?
MfG Thomas
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.10.2009, 20:02
Titel:
|
|
Hallo,
An sich ist an dem Code nichts auszusetzen, wenn dadurch ein Element an eine Liste angefügt werden soll. Ich vermute aber mal, dass das in einer FOR-Schleife passiert? Wenn im voraus nicht klar ist, wie groß die Schleife wird, sehe ich folgende Möglichkeiten:
- mit dem Performance-Verlust leben.
- auf einen Wert präallozieren, der groß genug ist und dessen Überschreitung nicht realistisch ist, und mit dem belegten Speicher leben.
- Kompromiss: z.B. auf Länge 100 vorbelegen, wenn das nicht mehr reicht, auf Länge 200 erweitern etc.
Grüße,
Harald
|
|
|
derOli |
Forum-Meister
|
|
Beiträge: 579
|
|
|
|
Anmeldedatum: 19.03.08
|
|
|
|
Wohnort: Leipzig
|
|
|
|
Version: 2010a
|
|
|
|
|
|
Verfasst am: 13.10.2009, 20:06
Titel:
|
|
Hi, ein cell array dürfte ein bisschen schneller sein, aber die optimale Lösung wurde schon genannt und ist wirklich viel viel schneller.
Viele Grüße,
der Oli
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 13.10.2009, 22:33
Titel:
|
|
"klassische" Erzeugung eines Array 1x100000
Hier wird ein Array gleicher Größe aufgebaut, jedoch häppchenweise (100x1000). Zuerst wird also ein "Zwischencontainer" (1x1000) gefüllt (tmp), der dann den eigentlichen Array (data) erweitert.
Der Zeitunterschied spricht für sich...
MfG
|
|
|
Thomas_74 |
Themenstarter
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 06.02.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.10.2009, 11:04
Titel: THX
|
|
Danke für die Beschleunigung.
Ich habe so ein ding auch in einer if abfrage da wird dann nach dem gleichen Muster vorgegangen?
|
|
|
|
|
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.
|
|