Verfasst am: 18.07.2017, 14:43
Titel: Bei Winkelsprung von 360° auf 0°-->360° addieren
Hallo zusammen,
ich nehme von einer rotierenden Achse die Werte über die Zeit auf.
Die meine Messwerte springen nach einer Umdrehung (360°) wieder auf 0° zurück.
Gemessen wird unterschiedlich, somit kann es sein das bei 359,6° und anschließend bei 0,3° gemessen wird als Beispiel.
Was ich tun möchte:
Ich möchte damit meinen Werte nach einem "Sprung" automatisch +360° addiert wird. Nach 2 mal umlaufen der Achsen soll 2x360° addiert werden usw...
Code:
O=(diff(B(:,2))<0); % 2. Spalte von B enthält die Grad-Zahlen;; Ermittlung des Sprungs mittels X(2)-X(1)
P=find(O); % hier suche ich die Stellen heraus bei denen es den Sprung gibt
P=P+1; % hier füge ich bei P eins hinzu, da die Punkte die bei diff herauskommen X(1) entsprechen, also quasi bei 360° sind, ich aber erst ab 0° 360° addieren will
B(P(1,1):(P(2,1)-1),2)=B(P(1,1):(P(2,1)-1),2)+3.6e6; % hier addiere ich 360° bei der 2. Umdrehung
B(P(2,1):(P(3,1)-1),2)=B(P(2,1):(P(3,1)-1),2)+2*3.6e6; % hier addiere ich 720° bei der 3. Umdrehung
Das ganze funktioniert auch. Nur ich möchte quasi die letzten 2 Zeilen ersetzen, damit mein Programm automatisch erkennt, damit es 360° oder 720° oder 1080° (usw.) hinzufügen soll.
EDIT: nicht von dem 3.6e6 irritieren lassen, dass entspricht 360°, ist nur wegen der Skalierung des Messprogramms e6
_________________
Jetzt werden ab jedem 0-Durchgang bis zum Ende 360 Grad dazu gezählt. Das ist zwar nicht effizient, da man viele Elemente mehrfach erhöht, aber wenn das nicht Milliarden von Messwerten sind, sollte es doch nur ein paar Sekunden-Bruchteile benötigen.
Effizienter:
Danke für die schnelle Antwort, ist genau das, was ich suche
Funktioniert einwandfrei
Dankeschön _________________
Grüße Equi
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.