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

Vorhande Signalwerte in Binär umwandeln und Plotten

 

neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 13:54     Titel: Vorhande Signalwerte in Binär umwandeln und Plotten
  Antworten mit Zitat      
Hallo zusammen,
ich habe ein problem und würde gern eure hilfe in anspruch nehmen.

Ich habe ein Bewegungssignal und möchte die nun Binär plotten. der sinn dabei ist das ich an jedem höchsten Punkt des Signals (14000 Werte) die logische eins sehen möchte und dadurch zu erkennen wo der höchste Punkt im Signal ist.

ich habe aber keine Ahnung wie man so eine riesen Menge an Daten in Binär ändern und plotten kann.

ich wäre für eure hilfe sehr dankbar =) .

gruß

wolfgang


dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 14:19     Titel:
  Antworten mit Zitat      
lokales oder absolutes Maximum, was suchst du?
Private Nachricht senden Benutzer-Profile anzeigen
 
neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 14:46     Titel:
  Antworten mit Zitat      
was ist da der unterschied ?
ich denke aber das absolute max.
Also es ist so. wenn mein original signal am höchsten punkt ist soll der binärcode (den ich übrigens auch geplottet haben will), auch die eins anzeigen. sozusagen als höchsten punkt. beim plotten des binärcodes soll die achsengrösse zwischen 0 und 1 sein. aber am ende interessieren mich nur noch die "einser" werte.

wie kann ich das in ein code verfassen ?

danke für die mühem

wolfgang
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 14:51     Titel:
  Antworten mit Zitat      
Code:

Y=... % Y Werte der Datenreihe
X=... % X Werte der Datenreihe
maimum=max(Y); %bestimme maximum
B=zeros(length(Y),1); %erstelle neuen Vektor für die Binärdaten, erstmal mit "0" gefüllt
B(Y==maximum)=1; %Setze auf 1 da wo das Maximum erreicht ist
plot(X,B)


Bezüglich lokaler und globaler Maxima:
http://de.wikipedia.org/wiki/Extremwert
Private Nachricht senden Benutzer-Profile anzeigen
 
neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 14:58     Titel:
  Antworten mit Zitat      
hi und danke für deine schnelle antwort,
ich habe aber keine x und y werte. ich habe nur eine matrix mit einer spalte und 14000 Zeilen (also zahlen). ändert sich da was am code ?

gruß

wolfgang
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 15:00     Titel:
  Antworten mit Zitat      
Y sind deine Daten
Zitat:
X=1:14000

X ist demnach nur eine fortlaufende Nummerierung (1,2,3...)
Private Nachricht senden Benutzer-Profile anzeigen
 
neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 15:06     Titel:
  Antworten mit Zitat      
aaaah ok habe es nun getestet aber da ist immernoch ein fehler, ich glaube ich konnte mich nicht richtig ausdrücken.
ich habe nicht nur ein max wert sonder viele. das ist ein sensor der die schritte aufzeichnet und für jeden schritt einen max hat.

ich deinem code habe ich aber nur leider einen max.

wie kann ich das anpassen ?

danke

wolfgang
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 15:08     Titel:
  Antworten mit Zitat      
dmjr hat Folgendes geschrieben:
Bezüglich lokaler und globaler Maxima:
http://de.wikipedia.org/wiki/Extremwert


Du suchst also lokale Maxima?
Private Nachricht senden Benutzer-Profile anzeigen
 
neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 15:16     Titel:
  Antworten mit Zitat      
ja da es in über 14000 Messwerten mehrere schritte gibt natürlich will ich jeden einzelnen schritt der gemacht wurde mit einem binären max "1" versehen.

es ist ja so das bei solchen sensoren auch anstiegen aufgezeichnet werden die kein Schritt waren, sondern einfach nur rauschen oder ungenauigkeiten. die darf er aber nicht maximal setzen. ich denke mit einer schwelle sollte das ganz gut machbar sein.

wiederrum hoffe ich das ich es nun hinbekommen habe es richtig zu erklären und hoffe auf gute tipps von dir =)

vielen dank

wolfgang
 
neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2012, 15:29     Titel:
  Antworten mit Zitat      
viell fürs bessere verständnis das bild anbei:

A ist mein signal
C soll das ergebnis sein ( beide signale natürlich ohne negative werte)
koordinatensystem von [0 1] .

gruß
wolfgang

15_2_AD.gif
 Beschreibung:

Download
 Dateiname:  15_2_AD.gif
 Dateigröße:  3.17 KB
 Heruntergeladen:  327 mal
 
neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2012, 12:52     Titel:
  Antworten mit Zitat      
Hallo,

kann keiner bei der Problematik helfen ?

gruß

wolfgang
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2012, 13:15     Titel:
  Antworten mit Zitat      
Ich glaube keiner hat bisher erraten was du möchtest.

Wann soll C auf 1 gesetzt werden, und wann auf -1?
Private Nachricht senden Benutzer-Profile anzeigen
 
neu1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2012, 13:18     Titel:
  Antworten mit Zitat      
er soll jedesmal auf 1 gestellt werden wenn das signal den höchsten punkt erreicht. und dann wieder auf 0 fallen bis das nächste signal kommt wo der höchste punkt auftaucht. und dann wieder auf 1 springen. und dass solange bis alle Kurven im signal durchlaufen wurden
 
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.