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

Reihenanzahl ausgeben

 

Hasi
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 20.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2015, 09:28     Titel: Reihenanzahl ausgeben
  Antworten mit Zitat      
Kann mir bitte jemand einen tipp geben wie ich folgendes Problem am besten angehe:

Ich habe eine Spalte mit einer großen Anzahl an Werten. Die Werte liegen so um die Zahl 200 herum. Nach einer gewissen Anzahl an Werten kommt in der Spalte immer wieder der Wert 1000 vor: Nun will ich dass mir Matlab aus der Spalte die Anzahlen der Werte,die zwischen zwei Werten mit 1000 liegt auslesen.

Bsp.:
1000,200,201,200,1000,200,202,203,200,1000,200,204,201,1000...(als Spalte denken)

Auslesen soll mir Matlab darauf: 3,4,3 ( sind jeweils die Anzahl der Werte die zwischen zwei 1000er Werten liegt.

Hoffe dass ist verständlich und ihr könnt mir helfen...

Danke
Lg Hasi
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.05.2015, 09:36     Titel:
  Antworten mit Zitat      
Hallo,

eine Möglichkeit:

Code:
diff(find(x == 1000)) - 1


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 20.05.2015, 09:38     Titel:
  Antworten mit Zitat      
Folgender Vorschlag...

Code:

M = [1000;200;201;200;1000;200;202;203;200;1000;200;204;201;1000]
% suche alle 1000er
indices = find(M==1000);
% Ergebnis: indices = [1;5;10;14]
% Berechne die Differenz zwischen den Indizes
ergebnis = diff(indices) - 1 % -1 da der Index bei 1 beginnt
 


Ist aber ungetestet
Private Nachricht senden Benutzer-Profile anzeigen
 
Hasi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 20.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2015, 14:17     Titel:
  Antworten mit Zitat      
Danke für die raschen Antworten!

Ich würde allerdings gerne die Anzahl der Werte die zwischen zwei 1090er-Werten liegen bekommen. Sprich nicht die gesamtanzahl an 1000er-Werten sondern eine spalte mit der anzahl an werten dazwischen wie in diesem beispiel: 3,4,3,etc...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.05.2015, 14:34     Titel:
  Antworten mit Zitat      
Hallo,

hast du den Code denn mal ausgeführt? Das gibt in deinem Beispiel ja 3, 4, 3 zurück.
Wenn der Code übertragen auf ein anderes Beispiel nicht das gewünschte macht, dann bräuchten wir dieses andere Beispiel.

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