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

Wie lange Messung "zurecht schneiden"?

 

metalphony
Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 16.10.2013, 11:16     Titel: Wie lange Messung "zurecht schneiden"?
  Antworten mit Zitat      
Guten Morgen,

folgendes: Ich muss am Institut wo ich als Hiwi tätig bin Daten auswerten. Dabei handelt es sich um ein ca. 3600s langs Messschrieb einer Fahrt mit einem Fahrzeug durch eine Innenstadt. Meine Aufgabe ist es zunächst einzelne Anfahrten herauszufiltern. Aus zum Messschrieb hab ich mir als erstes den Zeitvektor und den Radgeschwindigkeits-Vektor "rausgezogen". Die beiden Vektoren sind gleich lang (1X364445) .
Die "Startbedingung" ist wenn das Fahrzeug steht, also v_rad=0 und Ende einer Messung soll 5s nach Beginn des Anfahrvorganges sein.
Ich muss leider gestehen dass ich im Moment keinen Ansatzpunkt habe wie ich nun das umsetzen soll.
Daher würde ich mich über ein paar Tips wie ich das jetzt angehen könnte sehr freuen. Im Anhang hab ich nochmal einen Screenshot meines Workspace geladen..
Vielen Dank

Workspace.png
 Beschreibung:

Download
 Dateiname:  Workspace.png
 Dateigröße:  5.8 KB
 Heruntergeladen:  432 mal
Private Nachricht senden Benutzer-Profile anzeigen


Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 16.10.2013, 13:11     Titel:
  Antworten mit Zitat      
Hallo metalphony,
die Informationen sind etwas dürftig. Gib mal einen Satz Beispieldaten bitte.
v=0 als Startbedingung zu bezeichnen klingt unlogisch. Sinnvoller wäre doch wenn von 0 auf 1 wechselst?
Also könnte Diff helfen.
Weiterhin solltest du dich über logical Indexing informieren.
Hab jetzt mal ohne testen was mit ner Schleife gemacht. Ist für deine Datenmenge wahrscheinlich suboptimal. Aber könnte ein Ansatz sein:

Code:

m=1;
U=zeros(1,100)
U(20:30)=1:11;
U(55:70=6:21;

m=1;
for k=2:length(U)
    if U(k)>0 && U(k-1)==0
         Anfahrt(m)=k;
    end
end

for k=1:length(Anfahrt)
     Fahrt(k,:)=U(Anfahrt(k)):U(Anfahrt(k)+5);
end

 


Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 16.10.2013, 21:01     Titel:
  Antworten mit Zitat      
stimmt schon...auf den Wechsel kommt es an! Ich werd mich morgen mal damit weiter näher befassen! vielen Dank soweit!
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 16.10.2013, 21:34     Titel:
  Antworten mit Zitat      
Gibt es ca. 100 Messwerte pro Sekunde? Das Datenformat von t wäre Interessant.
Ansonsten würde ich einmal die Indizes von v_rad ~=0 rausholen.
Code:

messung=v_rad~=0
 


Dort wo nun eine 1 steht, ist das Fahrzeit in fahrt. Dann musst du quasi ab da wo der wechsel von 1 auf 0 stattfindet noch die 5 Sekunde berücksichtigen (Da ist wieder die Frage wie t genau aussieht).
Da könnte der Thread helfen http://www.gomatlab.de/zahlen-addieren-bis-null-kommt-t30556.html (Die Analogie dass du nur die Nullen berücksichtigst (wenn das Fahrzeug steht).

Aber es gibt sicherlich noch viele andere Wege. Am besten wäre es, wenn du einen kurzen Beispieldatensatz zur Verfügung stellst (Matrix mit 2 Spalten (Spalte 1 Zeit, Spalte 2 V_rad) und 100 Zeilen z.b.).
Und optimalerweise noch einen Codeansatz.
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 21.10.2013, 17:58     Titel:
  Antworten mit Zitat      
Zitat:
Gibt es ca. 100 Messwerte pro Sekunde?
Jap!
Zitat:
Das Datenformat von t wäre Interessant.
? Wie genau meinst du das?
Ich konnte leider erst gestern weiter machen...hab mir zunächst folgendes überlegt. Hatte schon früher mal mit dem "find" Befehl mir gewünschte Indizes suchen lassen. Habs hier auch mal probiert:
ind_t = find(fp>1 & v_rad<1 ,1,'first');
so wird mir nun der erste Index angegeben an dem das das erstemal zutrifft.
Jetzt würde ich gerne mir aber jeden index ausgeben lassen wo das der Fall ist. Wie kriege ich das hin..oder ist das nicht besonders Zielführend...ist halt meine erste Idee und hatte bis jetzt nocht nicht viel in diese Richtung mit Matlab gemacht...zusätzlich hab ich nochma einen Plot von der Radgeschwindigkeit über der Zeit angehängt

edit: gibt es eine Möglichkeit mit Hilfe einer Schleifen mir den ersten, zweiten ,dritten usw. Index ausgeben zulassen an dem diese Bedingung zutrifft?
(Radgeschwindigkeit ungleich 0 bedeutet nicht das das Fahrpedal getreten wurde...daher die Bedingung)

t_v_rad.jpg
 Beschreibung:

Download
 Dateiname:  t_v_rad.jpg
 Dateigröße:  143.18 KB
 Heruntergeladen:  386 mal
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 - 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.