|
|
Problem mit String Compare (strcmp) - DRINGEND |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.12.2016, 11:29
Titel: Problem mit String Compare (strcmp) - DRINGEND
|
 |
Hallo zusammen,
ich habe folgendes A und B:
A = ['a'; 'b'; 'c'; 'd'; 'b'; 'e'; 'a'; 'f'];
B = ['b'; 'd'];
Nun möchte ich mit dem Befehl strcmp schauen, wie oft (und wo) sich die einzelnen Elemente von B in A wiederholen. Hierfür habe ich folgenden Code geschrieben, allerdings funktioniert dieser nicht
Was mache ich falsch?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.12.2016, 12:46
Titel:
|
 |
Hallo,
die Hochkommata um B müssen weg, denn du willst ja die Variable nutzen.
Die rechte Seite der Zuweisung sollte zudem von i abhängen. Das Zählen sollte man auch nicht vergessen, z.B. mit sum, also etwa
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.12.2016, 13:29
Titel:
|
 |
In diesem Fall erhalte ich folgende Fehlermeldung:
"??? Cell contents reference from a non-cell array object."
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.12.2016, 13:50
Titel:
|
 |
Vieleicht ist es besser, wenn ich mein Problem etwas ausführlicher schildere:
Das heißt, dass A aus einer Spalte mit 8 Zeilen besteht:
A =
a
b
c
d
b
e
a
f
Und B aus einer Spalte mit zwei Zeilen:
B =
b
d
Nun soll mir Matlab die erste Zeile von B mit jeder einzelnen Zeile von A vergleichen. Im nächsten Schritt soll es mir die zweite Zeile von B mit jeder Zeile von A vergleichen.
Mit dem Befehl strcmp sollte ich also für die erste Zeile von B folgendes erhalten:
SC1 =
0
1
0
0
1
0
0
0
Und für die zweite Zeile von B:
SC2 =
0
0
0
1
0
0
0
0
Anschließend muss ich mit dem Befehl find die Indizes der jeweiligen trues für jede einzelne Zeile von B finden.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 25.12.2016, 13:36
Titel:
|
 |
Hallo,
ich habe übersehen, dass A und B ja char-Arrays sind und nicht wie üblich Cell Arrays von char. Dann kannst du == statt strcmp verwenden.
Grüße,
Harald
|
|
|
|
|
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.
|
|