|
|
Schleife beschleunigen - if und mod |
|
Julian_S |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2016, 13:16
Titel: Schleife beschleunigen - if und mod
|
 |
Hallo zusammen!
Ich habe eine Schleife, in der ich verschiedene Dinge berechne u.a. die unten eingefügte Betriebszeitberechnung. Nach Anwendung des Profilers habe ich nun festgestellt, dass diese eine Berechnung 60% der Zeit benötigt.
Hat jemand eine Idee, wie ich diese Berechnung beschleunige? Konkret geht es darum die Summe eines Vektors zu berechnen und immer dann wenn es sich um einen ganzzahligen Teiler von t_w/dt handelt (entspricht i.d.R. 300) soll das aktuelle k im Vektor t_b aufgeführt werden. Die 2. Bedingung k>=t_DG/dt ist nur drin, damit ich nicht direkt 0/300=0 als "ganzzahligen Teiler" ausgegebenen bekomme.
Ich freu mich über eine Antwort! Danke!
VG Julian
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.05.2016, 18:17
Titel:
|
 |
Hallo,
werden t_DG, t_w, dt in der Schleife verändert? Falls ja, welche dieser Variablen?
So sieht es so aus, als ob es unnötig wäre, den Teil
in jeder Iteration neu zu berechnen.
Grüße,
Harald
|
|
|
Julian_S |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.05.2016, 12:18
Titel:
|
 |
Hallo Harald,
danke für deine Antwort.
Ja, t_DG hängt von k ab, das habe ich wohl versehentlich beim Codekopieren verloren gegangen.
also wie folgt:
VG Julian
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 23.05.2016, 12:29
Titel:
|
 |
Hallo,
t_DG(k) ist dann doch ein Skalar? Wozu also dann summieren?
In k>= t_DG/dt wäre die rechte Seite ein Vektor. Ist das wirklich so beabsichtigt?
Bekommst du mit deinem Code die gewünschten Ergebnisse? Durch minimale numerische Ungenauigkeiten kann es sein, dass Dinge die gleich sind (oder teilbar sein sollten) dies eben doch nicht sind.
Wenn du Beispieldaten für die Variablen geben kannst, wäre das hilfreich zum Testen der Geschwindigkeit.
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 - 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.
|
|