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

Zeilennr. der ersten Wertänderung ausgeben

 

Markyboy89
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 28.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2015, 13:20     Titel: Zeilennr. der ersten Wertänderung ausgeben
  Antworten mit Zitat      
Hallo!
Ich habe leider keine Antworten gefunden, die in Richtung meines Problems gehen. Ich hoffe ihr könnt mir helfen.

Ich habe eine Tabelle mit 2149 Zeilen.
Je nach Spalte ist der erste Wert in weiteren folgenden Zeilen vertreten.
Ich möchte die Zielennr. herausfinden, in der sich das erste mal ein anderer Wert befindet.

Ist wahrscheinlich recht einfach, aber ich kenne hierfür keinen Befehl.
Vielen Dank schon für's Lesen.
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: 04.11.2015, 13:34     Titel:
  Antworten mit Zitat      
find und diff sollten da helfen
grüße
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Markyboy89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 28.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2015, 14:10     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort! Leider weiß ich nicht, wie ich diese Befehle kombinieren kann um auf das Ergebnis zu kommen...
Ist es nicht mgl. das irgendwie über "Ungleich der ersten" zu realisieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 04.11.2015, 15:24     Titel: Re: Zeilennr. der ersten Wertänderung ausgeben
  Antworten mit Zitat      
Hallo Markyboy89,

Bitte erkläre noch mehr Details. Beispiel-Code wäre bestimmt hilfreich.
Was genau meinst Du mit "Tabelle"? Eine Matrix?

Zitat:
Je nach Spalte ist der erste Wert in weiteren folgenden Zeilen vertreten.

Das ist mir noch nicht klar.

Ich rate ab, dass Winkows Vorschlag das Problem löst:
Code:
index = find(diff(M(:, k))

Das findet die Zeilen-Nummerb, in denen die Werte in der k.ten Spalte der Matrix M sich ändern.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Markyboy89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 28.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.11.2015, 09:34     Titel:
  Antworten mit Zitat      
Vielen Dank! Das ist schon der erste Ansatz zur Lösung.

Also, ich habe eine Matrix:

1 18.43 15.58 17.69 ...
2 18.43 15.58 17.69 ...
3 18.43 15.58 17.69 ...
4 18.43 15.58 17.69 ...
5 18.60 15.58 17.69 ...
6 18.72 15.80 17.69 ...
.
.
.

und möchte eine Variable erzeugen, die mir die Zeilennr der ersten Wertänderung der gewünschten Spalte ausgibt.
Wenn ich also Spalte 1 angebe, soll die Varibale nur den Wert 4 haben.
Ich möchte also die Zeilennr haben, in der zuletzt der erste Wert steht.

Die Lösung, die du jetzt dargestellt hast, liefert jede Zeile in der eine Wertänderung erfolgt.
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: 05.11.2015, 09:41     Titel:
  Antworten mit Zitat      
Zitat:
Die Lösung, die du jetzt dargestellt hast, liefert jede Zeile in der eine Wertänderung erfolgt.

also ist die lösung doch enthalten. was spricht dagegen sie dann zu extrahieren. dukannst auch angeben wie viele indexe gefunden werden sollen. sihe doc zu find .
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Markyboy89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 28.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.11.2015, 09:48     Titel:
  Antworten mit Zitat      
Bitte entschuldigt, manchmal sieht man den Wald vor lauter Bäumen nicht...
Die Lösung ist denkbar einfach...
",1" an die richtige Stelle und schon hab ichs.

Vielen Dank euch beiden!
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.