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

Vektor nach einem Event für X Zeilen überschreiben

 

benjamin.spunkt
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.06.14
Wohnort: Berlin
Version: R2013b
     Beitrag Verfasst am: 03.07.2014, 16:03     Titel: Vektor nach einem Event für X Zeilen überschreiben
  Antworten mit Zitat      
Hallo,
vielleicht eine ganz einfache Frage, komme aber leider auch nach dem Durchsuchen dieses Forums nicht darauf:
Gegeben ist ein Kraftvektor der ein Störsignal enthält (siehe Grafik-rote Kurve mit großer Peak). Außerdem ist ein Vektor „Messanforderung“ (blaue Kurve) gegeben, wenn dieser auf 1 springt wurde die Kraft für eine bestimmt Zeit aufgezeichnet.

Mein Ansatz wäre nun:
Sobald Messaufforderung = 1 -> belasse die nächsten 2400 Zeilen des Kraftvektors wie gehabt und ersetzte alles was danach kommt mit NaN bis Messaufforderung wieder =1. Und das gleiche Spiel wieder….
Wäre super Dankbar wenn jemand ne Idee hätte wie sich dies verwirklichen lassen würde.

Vielen Dank im Voraus!

Grüße,
Benni

Kurve.jpg
 Beschreibung:

Download
 Dateiname:  Kurve.jpg
 Dateigröße:  132.04 KB
 Heruntergeladen:  238 mal
Private Nachricht senden Benutzer-Profile anzeigen


Lizah
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 03.07.14
Wohnort: ---
Version: 7.12.0(R2011a)
     Beitrag Verfasst am: 03.07.2014, 17:20     Titel:
  Antworten mit Zitat      
messaufforderung mit
Code:
behandeln, bei 1 hast du immer die steigende flanke, die du mit
Code:
suchen kannst.

Code:

t_start = find(diff(messaufforderung)==1)+1; % index von Messstart

help = nan(size(messsignal))   % Hilfsvektor

help(t_start:t_start+2400) = 1; % alles was bleiben soll ist eins

messsingnal = help.*messsignal; % fertig

 
Private Nachricht senden Benutzer-Profile anzeigen
 
benjamin.spunkt
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.06.14
Wohnort: Berlin
Version: R2013b
     Beitrag Verfasst am: 03.07.2014, 17:44     Titel:
  Antworten mit Zitat      
Hallo Lizah,
vielen Dank für die Tipps, war sehr hilfreich und hat zur Lösung geführt!!

Um die nachfolgenden Messungen zu berücksichtigen habe ich noch eine Schleife eingeführt:

Code:

t_start = find(diff(messaufforderung)==1)+1; % index von Messstart

help = nan(size(messsignal))   % Hilfsvektor
Anzahl_der_Messungen = length(t_start) %Anzahl der Messungen

for n=1:Anzahl_der_Messungen;
    help(t_start(n):t_start(n)+2400) = 1; % alles was bleiben soll ist eins
   
end;


messsingnal = help.*messsignal; % fertig
 


Viele Grüße,
Benni
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.