Hi, ich konnte das Problem, dass ich hier hatte lösen.
Das Messgerät tut was es soll. Das Übertragen der Daten dauert aber recht lange (je nach Auflösung bis zu einer Minute) und der Prozessor ist voll ausgelastet.
Ich weiß, dass man Schleifen vermeiden sollte, aber mir fällt keine andere Möglichkeit ein. Kann zudem die Funktion CG_BidiMea_GetValue ausgelagert werden?
Habe das eingefügt und es wird dadurch leider nicht schneller! :/
Ich habe ein paar Probeläufe durchgefüht.
Eine Idee ist noch, in der innersten Schleife (for p=...) nicht das komplette "S.Automatic.Measurement" zu speichern (weil da schon paar Daten drinne sind), sondern lediglich sowas hier in der Art: "S.Automatic.Measurement(ii).Data"
Und dieses dann irgendwie weiter hinten im Code in die restlichen Daten zu integrieren. Das übersteigt aber leider meine Kenntisse! :/
der wird dynamisch bei dir erzeugt. das braucht viel zeit wenn p entsprechend groß wird.
außerdem speicherst du bei jedem durchlauf der schleife. reicht es nicht am ende einmal alles zu speichern?
Die Variable "Meas" wird in jeder Iteration im MAT-File überschrieben. Die benötigte Rechenzeiot dafür steigt exponentiell. Es wäre viel effizienter, den SAVE ausserhalb der Schleife aufzurufen.
Gruß, Jan
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.