In Octave, ich habe diese Zellenfeld: y = { 'hello' 'world' 'a' 'world' 'g' 'I' 'w' 'hi'};
Octave - entfernen Vorkommen eines Elements in einem Zellenfeld
Ich brauche die Duplikate eines Elements entfernen zu können. So zum Beispiel habe ich die Duplikate von 'world'
entfernen möchten, sollte dies der Ausgang sein:
ans =
{
[1,1] = hello
[1,2] = a
[1,3] = g
[1,4] = I
[1,5] = w
[1,6] = hi
}
Abgesehen von der üblichen Schleife bis n-mal, gibt es eine Funktion in Octave, das dies tut?
Ich habe nach Möglichkeiten gesucht, dies zu tun, aber nichts gefunden. Von dem, was ich gesehen habe, macht unique
dies nicht, da es alle Duplikate entfernt.
Sie haben * alle * Vorkommen von 'world' entfernt, ist das wirklich was Sie wollten? – Suever
@ CH123: Ist die Reihenfolge des Ergebnisses wichtig? Und möchten Sie mehrere Duplikate entfernen? Zum Beispiel 'y = {" foo "," Hallo "," Bar "," Baz "," Hallo "," Welt "," Foo "}' sollte Hallo und Foo entfernen? – Andy
@Suever, ja Ich möchte alle Instanzen von "Welt" entfernen. @Andy, die Reihenfolge ist nicht wichtig (so ist es in Ordnung, wenn es ein Array mit einer aufsteigenden Reihenfolge wie 'unique' zurückgibt). Und mehrere Duplikate sind auch in Ordnung, aber überhaupt nicht notwendig. – CH123