|
|
Befehl "Finde erste Zeile der Matrix die 'string' enth |
|
DaNylz |

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 14.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.02.2013, 17:14
Titel: Befehl "Finde erste Zeile der Matrix die 'string' enth
|
 |
Hallo!
Ich suche einen Befehl der mit als Output die Zeilennummer der Matrix nennt in der das erste mal ein bestimmter String vorkommt.
Danke & LG!
DaNylz
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.02.2013, 00:17
Titel: Re: Befehl "Finde erste Zeile der Matrix die 'string' e
|
 |
Hallo DaNylz,
Unter einer "Matrix" versteht man in Matlab zunächst einmal ein 2D-Array vom Typ DOUBLE. Ein "String" ist ein [1 x N] Arrays von Type CHAR.
Möglicherweise suchst Du nach:
Aber ganz klar ist die Frage noch nicht.
Gruß, Jan
|
|
|
DaNylz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 14.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.02.2013, 00:57
Titel:
|
 |
Hi!
Erstmal Danke für deine Antwort.
Ich habe eine Logdatei von einer Messung importiert.
Diese enthält Zahlen, aber in manchen Zellen auch Text.
Sie hat ca. 8 Spalten und über 900 Zeilen.
Somit habe ich im Workspace eine Matrix mit Strings.
Ich will nun die erste Zeile herausfinden in der der Begriff "fixation" vorkommt, weil dort ein bestimmter Punkt der Messung erreicht ist, den
ich eben erfassen will.
Hier was passiert, wenn ich deine o.g. Syntax benutze:
Wenn ich den Wert 1 erhöhe kriege ich mehr Werte dieser Art, keiner Davon findet sich jedoch in der Matrix bzw. in einer Relativen Häufigkeit von Werten o.Ä. wieder.
Danke & lg
|
|
|
DaNylz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 14.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.02.2013, 01:19
Titel:
|
 |
Folgendes funktioniert ganz gut:
In Spalte 3 befindet sich der String "fixation" und in Spalte 5 der Timecode den ich haben will.
Output ist eine Stringliste mit den Timecodes aller Spalten in denen "fixation" vorkommt.
Jetzt die weiterführende Frage:
Wie kriege ich nur den ersten Wert dieser Liste in eine Variable?
Danke & LG
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.02.2013, 11:18
Titel:
|
 |
|
 |
|
Hallo DaNylz,
Zitat: |
Ich habe eine Logdatei von einer Messung importiert. |
Bitte erkläre das genauer: Als string, als File-Name, als Cell String, per IMPORTDATA, FREAD, FSCANF, TEXTSCAN, XLSREAD?
Zitat: |
Diese enthält Zahlen, aber in manchen Zellen auch Text.
Sie hat ca. 8 Spalten und über 900 Zeilen.
Somit habe ich im Workspace eine Matrix mit Strings. |
Das ist, wie ich bereits erklärt habe, in Matlab nicht möglich. Bitte versuche Dich an die Standard-Nomenklatur zu halten, weil wir sonst raten müssen, wovon Du eigentlich sprichst: Eine Matrix kann in Matlab keine Strings enthalten. Meinst Du eine Cell-Matrix?
Wenn die importierten Daten Strings sind, wie unterscheidest Du dann "Text" und "Zahlen"? Es sind ja beides Strings, oder?
Zitat: |
Wenn ich den Wert 1 erhöhe kriege ich mehr Werte dieser Art, keiner Davon findet sich jedoch in der Matrix bzw. in einer Relativen Häufigkeit von Werten o.Ä. wieder. |
Diesen Satz verstehe ich nicht. Wenn Du welchen Wert um 1 erhöhst und wieso erhöhst Du ihn um 1? Und woher stammt plötzlich die relative Häufigkeit?
Zitat: |
In Spalte 3 befindet sich der String "fixation" und in Spalte 5 der Timecode den ich haben will. |
Woher kommen nun auf einmal Spalten?
Zitat: |
Output ist eine Stringliste mit den Timecodes aller Spalten in denen "fixation" vorkommt. |
Das ist der Output wovon? Und was genau ist eine "String Liste"?
Zitat: |
Wie kriege ich nur den ersten Wert dieser Liste in eine Variable? |
Da mir nicht klar ist, von welcher Liste Du sprichst, weiß ich die Antwort nicht. Übliche wäre soetwas:
Bitte bedenke, dass wir als Leser überhaupt keine Ahnung haben, was Du machst. Wir wissen nur das, was Du schreibst. Für eine sinnvolle Antwort fehlen aber bisher wichtige Details, nämlich eine genau Definition der vorhandenen Inputs und der gewünschten Outputs.
Gruß, Jan
|
|
|
DaNylz |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 14.02.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.02.2013, 13:13
Titel:
|
 |
HI!
Ja dann wird es wohl eine Cell Matrix sein.
Auf die waren auch die Spaltenbezeichnungen bezogen.
Entsprechend deiner letzten Antwort hat es jetzt geklappt:
Ich frage aus der Cell-Matrix den Eintrag aus Spalte 5 jeder Zeile ab, die in Spalte 3 den String "fixation" enthält.
Danach wandle ich den Output (eine Liste von Zeitangaben als Zahlen die aber strings sind) in numerische umwandeln:
Dann lasse ich mir den ersten Wert dieses nun numerischen Outputs nennen:
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|