Ich habe zwei Zellenarrays der Zeichenfolgen A
und B
, die 60 und 400 Subjektnamen jeweils enthalten. Alle Objekte in dem Zellenfeld A
sind ebenfalls in dem Zellenfeld B
. Was ich tun möchte, ist die im Zell-Array A
aufgelisteten Objekte aus dem Zellen-Array B
zu löschen, um zum Zellen-Array C
zu gelangen, das nur die Subjekte enthält, mit denen ich arbeiten möchte.MATLAB: Wie löscht man Elemente des Zellenfeldes A aus Zellenfeld B?
2
A
Antwort
7
Wenn Sie über das Ergebnis ist egal, die sortiert werden, können Sie die Funktion SETDIFF verwenden können:
C = setdiff(B, A);
Wenn Sie das Ergebnis müssen in der gleichen Reihenfolge wie die ursprüngliche Zellenfeld B
mit den Namen von A
C = B(~ismember(B, A));
UPDATE: In neueren Versionen von MATLAB, ein zusätzliches Argument hinzugefügt wurde entfernt, können Sie die Funktion ISMEMBER verwenden SETDIFF, um die Sortierung der Ausgabeelemente zu steuern. Um die ursprüngliche Reihenfolge zu erhalten, können Sie dies jetzt tun:
C = setdiff(B, A, 'stable');
Verwandte Themen
- 1. Inhalt des Zellenfeldes anzeigen, das einem anderen Zellenfeld mit Matlab entspricht
- 2. Matlab, Operator A \ B
- 3. Multiplizieren Matrizen im Zellenfeld Matlab?
- 4. Substrings aus einem Zellenfeld in Matlab
- 5. Scala - Wie konvertiert man aus Liste der Tupel des Typs (A, B) in Typ (B, A) mit Hilfe der Karte
- 6. Wie konvertiert man A [B [C]] in B [A [C]] wenn A und B Monaden sind?
- 7. Wie tauscht [b] [b = a, 0] zwischen a und b?
- 8. Haskell: a -> a -> ... -> b [a] -> b
- 9. Eindeutige Spaltenpaare wie A, B oder B, A
- 10. Wie kann ich [: b (lvar)] aus [[: a: A] [: b: B] [: c: C]] in Clojure core.logic entfernen?
- 11. GROUP BY (a, b) und (b, a)
- 12. MATLAB - Entfernen Sie NaN-Elemente im Zellenfeld. Hilfe, um eine Funktion zu beschleunigen
- 13. PHP transformieren Array 'a', 'b', 'c' zu 'a/b/c', 'a/b', 'a'
- 14. Wie F [A \/B] in (F [A], F [B])
- 15. MATLAB und Zellenfeld für Schleife Handling in
- 16. Unterschied zwischen a - = b und a = a - b in Python
- 17. Warum (A - B).^2 ist nicht gleich (B - A).^2 in MATLAB?
- 18. Wenn es 2 Matrizen a und b gibt, was macht a (b) in Matlab?
- 19. Wie Liste Indizes austauschbar, wie in [ 'a', 'b', 'c'] == [ 'b', 'a', 'c'] machen?
- 20. Suchen und Filterelemente in einem MATLAB Zellenfeld
- 21. Warum hat a = (b ++) das gleiche Verhalten wie a = b ++?
- 22. Wie kann "a <= b && b <= a && a! = B" wahr sein?
- 23. Umstellen verschachtelte strucutre in Zellenfeld in MATLAB
- 24. Der einfachste Weg, um "a/b/c" in ["a/b/c", "a/b", "a"] zu konvertieren
- 25. MySQL mehrere Elemente übereinstimmen, wo (A, B, Z) IN (A, B, C, E, Z)
- 26. numexpr.evaluate ("a + b", out = a)
- 27. Warum behandelt Numpy a + = b und a = a + b anders?
- 28. Warum codieren wir (a && b) und nicht (a & b)?
- 29. Matlab löschen bestimmte Elemente aus einem Array
- 30. Daten aus Zellenfeld extrahieren
danke Mann für die schnelle Hilfe. – Mike
Große Antwort wie immer, ich wusste nicht über die Setdiff-Funktion. Mike - wie Sie es eindeutig mögen, können Sie auf den Pfeil nach oben neben der Antwort klicken und auf das Kontrollkästchen darunter klicken. Dies ist eine formelle Art, dem Beantworter "Danke" zu sagen. –