Eine Alternative wäre die Berechnung über eine for-Schleife, wie ich es hier z.B. gemacht habe, nur vergeht über 1 min!!! für die Berechnung, was mit zu lange ist.
Code:
% E = M(i)*dn(i) -- dn [rpm]
E = 0;
tic for i=1:length(eval(['M_',int2str(j/2+0.5), '(:,1)']))
Cool, somit ist die Rechenzeit von 30 sek auf 0,04 gefallen Danke!
Für die Berechnung von E habe ich nun die Rechenzeit ebenfalls drücken können, indem ich meine Differenzdrehzahl einfach vor der for-Schleife berechne. Somit steht in meiner Schleife nur noch:
könnte ich zwar noch aus der Schleife ziehen, das wird die Rechenzeit von über 40 sek aber auch nicht erheblich senken. Gibts hier noch eine Möglichkeit, den Prozess zu beschleunigen?
da dürfte schon noch was gehen. Um konkrete Vorschläge machen zu können, müsste ich allerdings wissen, welche Dimensionen die M_1 etc. und dn_1 etc. haben.
Also pro Messung werden ca. 15 Zyklen gefahren (M_1 - M_15). Die Dimension schwankt etwas. Aber als Mittelwert könnte man in etwa (100.000 x 1) Messwerte pro Zyklus annehmen.
Rechenzeit von 44sek auf 0,004sek gefallen Vielen Dank!!!!!!!!!!
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
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.