WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Datenbereich eines Zyklus finden

 

Yurii
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.04.20
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 04.04.2020, 15:25     Titel: Datenbereich eines Zyklus finden
  Antworten mit Zitat      
Hallo zusammen!
Ich brauche eure Hilfe oder Tipp zur folgenden Frage.

Ich habe die Messdaten aus einem Versuch. Im Anhang finden Sie ein kleines Beispiel (.txt).
Es geht um zyklischen Versuchsdaten (eine Matrix [46x5]). Die Zyklen kann man in der 5. Spalte verfolgen.

Ich möchte irgendwie in MATLAB intelligent programmieren, dass Anfang und Ende jedes Zyklus automatisch ermittelt werden. Noch extra dazu soll jedes Zyklus als getrennte Variable gespeichert werden. Anfang des nächsten Zyklus definiert Vorzeichen und zwar zweimal Wechsel des Vorzeichens.

Zum Beispiel (siehe .txt File):

Ich will als die getrennten Variablen zwei Matrizen mit folgenden Koordinaten haben:
1. Zyklus [2:22,1:5]
2. Zyklus [23:42,1:5]

Ein Nächster, wichtiger Punkt ist, dass Anzahl der Zeilen in einem Zyklus sich variieren kann. Deswegen möchte ich programmieren, dass die Zyklen unabhängig von Anzahl der Zeilen ermittelt wurden.

Ich danke im Voraus!

Beispiel.txt
 Beschreibung:

Download
 Dateiname:  Beispiel.txt
 Dateigröße:  1.08 KB
 Heruntergeladen:  182 mal
Diagramm-1.jpg
 Beschreibung:
Diagramm

Download
 Dateiname:  Diagramm-1.jpg
 Dateigröße:  92.04 KB
 Heruntergeladen:  166 mal


Zuletzt bearbeitet von Yurii am 04.04.2020, 16:14, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.04.2020, 16:00     Titel:
  Antworten mit Zitat      
Hallo,

und was definiert Ende eines Zyklus bzw. Anfang des nächsten? Wenn ich anhand der Daten raten sollte, würde ich sagen: ein Vorzeichenwechsel
Code:


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Yurii
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.04.20
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 04.04.2020, 16:13     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

und was definiert Ende eines Zyklus bzw. Anfang des nächsten? Wenn ich anhand der Daten raten sollte, würde ich sagen: ein Vorzeichenwechsel
Code:


Grüße,
Harald




Anfang des nächsten Zyklus definiert Vorzeichen und zwar zweimal Wechsel des Vorzeichens. Wie kann man Berücksichtigung vom zweimal Wechsel des Vorzeichens programmieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.04.2020, 16:31     Titel:
  Antworten mit Zitat      
Hallo,

was meinst du mit zweimal Wechsel des Vorzeichens? Bei Ende/Anfang des Zyklus ändert sich in deinem Beispiel das Vorzeichen in der 5. Spalte doch nur einmal - und wie du das programmierst, habe ich bereits geschrieben.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Yurii
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.04.20
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 04.04.2020, 17:38     Titel:
  Antworten mit Zitat      
Hallo,

ich danke Dir für Hilfe. Dein Befehl ist schon hilfreich. Mittels dieses Befehls kann ich schneller Zyklen finden, obwohl mit manuelle Kontrolle.

Mit zweimal Wechsel meinte ich folgendes:

mit
Code:
finde ich Punke 1,2,3,4,5 (siehe Anhang).
In meinem Fall ist ein voller Zyklus zwischen 1-3, und 3-5.

vielleicht weist Du, wie man diese Zyklen als getränte Variable (Matrizen, die zwischen den mittels Befehl definierten Zeilen liegen) sofort speichern kann? Koordinaten nicht manuell eintagen.

Grüße,
Yurii

Diagramm-1.jpg
 Beschreibung:

Download
 Dateiname:  Diagramm-1.jpg
 Dateigröße:  180.96 KB
 Heruntergeladen:  165 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.04.2020, 18:33     Titel:
  Antworten mit Zitat      
Hallo,

dann extrahiere halt jedes zweite Element:
Code:
vzw = find(diff(sign(x)) ~= 0);
zyklusWechsel = vzw(1:2:end);


Zitat:
vielleicht weist Du, wie man diese Zyklen als getränte Variable (Matrizen, die zwischen den mittels Befehl definierten Zeilen liegen) sofort speichern kann? Koordinaten nicht manuell eintagen.

Ich bin mir nicht sicher, was du meinst, aber vermute
Code:
for k = 1:length(zyklusWechsel) - 1
    teil{k} = matrix(zyklusWechsel(k):zyklusWechsel(k+1)-1, :);
end


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Yurii
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.04.20
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 05.04.2020, 16:46     Titel:
  Antworten mit Zitat      
Hallo,

Vielen Dank!!

Alles geklappt, wie ich wollte.

Grüße,
Yurii
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.