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

Länge von kleinen Veränderungen

 

Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2011, 14:51     Titel: Länge von kleinen Veränderungen
  Antworten mit Zitat      
Moin, ich habe folgendes Problem. Ich habe eine Matrix 1x150 mit unterschiedlichen Werten drin. Die meisten liegen zwischen 1 und 3. Ich versuche nun die Länge zu bestimmen, wie lange die Werte sich weniger als +-0,25 ändern.

Also wenn der erste Wert 1 ist, dann 1,1 dann 1,2 dann 1,7 (also größere Veränderung von 1,2 auf 1,7 als +-0,25) wäre die erste Länge 3.

Das versuche ich nun für die ganze Matrix zu bekommen. Kann mir jemand helfen?

Dankeschön! und schonmal frohe Ostern!
Frank


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 21.04.2011, 17:54     Titel:
  Antworten mit Zitat      
Hallo,

dies sollte folgendermassen funktionieren:
Code:

test = [2.5 2.8 1 1.2 1.4 1.7 3 2.76 1.5 1.8 2.1 2.2 2.44 2.5 2.75 1];
RP = regionprops(bwlabeln(abs(diff(test))<0.25));
lengths = [RP.Area]+1;
 

PS: dafür benötigst du die Image Processing Toolbox. Ansonsten müsstest du die Abfrage von kontinuierlichen Einsen hier:
Code:

idx = abs(diff(test))<0.25
 

z.B. mit einer for Schleife lösen. Vergiss dann jedoch nicht zum Ergebnis noch +1 zu addieren. Also 3 kontinuierliche Einsen in Matrix entspricht 4 Stück (dies ist die Foge des diff-Befehls).

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2011, 10:02     Titel:
  Antworten mit Zitat      
Super!!! Vielen Dank!
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2011, 10:14     Titel:
  Antworten mit Zitat      
wofür benutzt du bwlabeln(...)??? Ohne den befehl tut es doch auch!?
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 26.04.2011, 13:11     Titel:
  Antworten mit Zitat      
Hallo,

nein das duerfte nicht funktionieren (jedenfalls nicht in 2008a), da der Befehl regionprops eine gelabelte Matrix vorraussetzt (verschiedene Regionen haben unterschiedliche Zahlenwerte--> siehe Matlab Hilfe von bwlabeln). Ohne bwlabeln erscheint bei mir folgender Fehler:
Code:

Use bwlabel(BW) or double(BW) convert binary image to
a label matrix before calling regionprops.
 


MFG

Sco
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.