|
KEH |
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 09.10.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2016b
|
|
|
|
|
|
Verfasst am: 08.04.2015, 08:55
Titel: Programm-zeit verkürzen
|
|
Hallo ihr
Meine Programme zeigen häufig folgendes:
The variable 'FX' appears to change size on every loop iteration (within a script). Consider preallocating for speed.
Nun Interessiert mich wie ich das beheben kann. Gibt es da eine Allgemeine Lösung? Im Bsp. ist FX ein Array mit 4 cellen in denen 10000 x 1 double drin stehen, dieses wird über eine for-Schleife erzeugt.
Danke Schon mal
KEH
|
|
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 08.04.2015, 10:58
Titel:
|
|
wenn die immer gleich groß sind musst du einfach die variable schon for der schleife anlegen. wenn du nicht weist wie groß sie werden aber es eine ober grenze giebt dann nimm das und lösch nach der schleife den rest. wenn du es absolut nicht weist kann es sich lohnen in der schleife den speicher als block zu reservieren.
_________________
richtig Fragen
|
|
|
KEH |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 09.10.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2016b
|
|
|
|
|
|
Verfasst am: 08.04.2015, 11:22
Titel:
|
|
Ich Lege also vorher die Abmaße in form einer 0 Matrix an und beschleunige damit auch mein Programm, da ich in der Schleife meine Werte auf die Matrix schreibe.
Wird es dadurch wirklich schneller?
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 08.04.2015, 11:31
Titel:
|
|
KEH hat Folgendes geschrieben: |
Ich Lege also vorher die Abmaße in form einer 0 Matrix an und beschleunige damit auch mein Programm, da ich in der Schleife meine Werte auf die Matrix schreibe.
Wird es dadurch wirklich schneller? |
das kommt drauf an. manchmal macht der jit das alleine glaube ich manchmal nicht. bei großen matritzen kann das sehr viel laufzeit spaaren.
sonst muss bei jedem schleifen durchlauf eine neue variabe angelegt werden dann wird die alte kopiert und der speicher wieder frei gegeben.
_________________
richtig Fragen
|
|
|
KEH |
Themenstarter
Forum-Century
|
|
Beiträge: 148
|
|
|
|
Anmeldedatum: 09.10.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2016b
|
|
|
|
|
|
Verfasst am: 08.04.2015, 11:43
Titel:
|
|
Gut ich teste das einfach mal
Dank dir
|
|
|
|
|
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.
|
|