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

Leerlaufzeit aus Vektor lesen und anpassen

 

Slamdunker23
Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 22.11.2011, 17:55     Titel: Leerlaufzeit aus Vektor lesen und anpassen
  Antworten mit Zitat      
Hallo zusammen,
ich hoffe ihr könnt mir bei folgendem Problem helfen:
Angehängt habe ich mat-Datei, die zwei Spalten enthält:

1.) Zeit
2.) Fahrzeuggeschwindigkeit

Wenn ihr die Geschwindigkeit über der Zeit plottet, seht ihr, dass es einige Zeit gibt, in der das Fahrzeug im Leerlauf ist.

Ich will diese Leerlaufzeit bestimmen und dann eine Grenze für die maximale Leerlaufdrehzahl festlegen, sagen wir 20 Sekunden.
Alle Zeilen, die in der Datei enthalten sind, die länger als 20 Sekunden in einer Leerlaufdrehzahl-Periode sind, will ich löschen.

So mein Ergebnis sollte ein Fahrgeschwindigkeits-Zeit Plot sein, der Leerlaufzeiten enthält, die aber maximal 20 Sekunden lang sind.

Also ich brauche ein Skript, das mir die jeweiligen Leerlaufdrehzahlzeiten berechnet und dann diese mit dem Maximalwert vergleicht und falls die Zeiten größer sind, die Zeilen löschen, sodass die neue Leerlaufdrehzahlzeit dem Maximalwert entspricht.

Dadurch verringert sich natürlich die Anzahl der Zeilen der Ausgangsmatrix.

Versteht ihr was ich meine?

Vielen Dank für eure Hilfe!

Test.zip
 Beschreibung:

Download
 Dateiname:  Test.zip
 Dateigröße:  11.05 KB
 Heruntergeladen:  252 mal
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.11.2011, 08:29     Titel:
  Antworten mit Zitat      
sind ja nur 3000 werte.. holzhammer methode mit forschleife und if... dann noch n paar zähl variaben und das problem is gelöst ^^
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 23.11.2011, 09:28     Titel:
  Antworten mit Zitat      
Hast du mir einen Ansatz dafür?

Ja es werden meistens nie mehr Werte sein.

Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.11.2011, 09:55     Titel:
  Antworten mit Zitat      
naja du durchläufst mit ner for schleife alle werte und guckst immer ob die geschwindigleit =0 ist wenn ja dann addierst du zu nem zähler n 1 dazu ^^ wenn n dann größer als 20 wird registrierst du das und löscht dann die werte wenn v wieder größer als 0 wird und setzt die zähler zurück ^^. den quelltext programmier ich dir jetzt nicht hir ^^ is aber nicht so schwer denk ich. bekommst schon hin
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 23.11.2011, 11:34     Titel:
  Antworten mit Zitat      
Okay, ich stehe nun vor der Frage, wie ich das programmieren kann:

Der zweite Zähler n zählt immer 1 dazu, falls die Geschwindigkeit 0 ist. Dieser soll aufhören, wenn die Geschwindigkeit wieder ungleich 0 wird, dann ist ja die Leerlaufzeit vorbei.

Gibt es da eine Stopp-Funktion mit Bedingung?
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 23.11.2011, 11:51     Titel:
  Antworten mit Zitat      
Sorry blöde Frage, habe es gefunden.

Die Frage die sich mir noch stellt ist, wie ich dann sagen kann, wenn der Zähler über 20 Sekunden ist, dass die nachfolgenden Zeiten bei v=0 gelöscht werden sollen, bis dann v wieder ungleich null wird!

Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.11.2011, 11:59     Titel:
  Antworten mit Zitat      
hmm vieleicht mit ner und verknüpfung n>20 && v(k+1)>0 wenn k der index is. spiel einfach mal rum und wenn du code hast der dann fast läuft kannst den ja posten und wir helfen dir
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 01.12.2011, 10:25     Titel:
  Antworten mit Zitat      
Danke! Die Sache hat nun gut geklappt.
Super Hilfe!
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.