Was ist der schnellste Weg, ein Array A
zu nehmen und beide auszugeben [d. H. der Satz von einzigartigen Array-Elementen von A
] sowie das Multiplizitäts-Array, das an seiner i-ten Stelle die i-te Multiplizität des i-ten Eintrags von in A
aufnimmt.Wie man schnell das Array von Multiplizitäten erhält
Das ist ein Bissen, also hier ein Beispiel. Gegeben A=[1 1 3 1 4 5 3]
, ich will:
unique(A)=[1 3 4 5]
mult = [3 2 1 1]
Dies kann für Schleife mit einem mühsam durchgeführt werden, würde aber gerne wissen, ob es einen Weg gibt, um das Array Art von MATLAB zu nutzen .
Haben Sie eine Meinung haben zu, die von denen zwei schneller ist? – Lepidopterist
@GregorianFunk Ich weiß es nicht ... Es kann auch auf die Größe von 'A' abhängen. Manchmal ist eine Lösung für kleine Größen am schnellsten, aber nicht für große. Probieren Sie es aus! –
@GregorianFunk Ich habe ein paar Tests gemacht (siehe bearbeitete Antwort). Der erste ist deutlich schneller. Die Antwort von chappjc ist sehr nahe –