Ränge Zahlenliste mit Mathematica |
07.08.2015, 02:10 | eymuri | Auf diesen Beitrag antworten » |
Ränge Zahlenliste mit Mathematica Hallo alle zusammen.Ich erstelle einen Mathematica Programm,wobei ich erstmal eine Zahlenliste erstellen und ihre Ränge berechnen lassen muss. Meine Zahlenliste lautet: a={4,7,8,8,8,8,8,9,9}. Die identische Zahlen aus dieser Liste habe ich in Unterlisten splitten lassen mit: Split[a] und mein Ergebnis lautet b={{4},{7},{8,8,8,8,8},{9,9}}.Von dieser Liste müsste ich erst die Ränge innerhalb der einzelnen Gruppen ermitteln.Dies habe ich durch den Befehl ConstantArray[(Length[#]+1)/2,Length[#]]&/@z ermittelt und mein Ergebnis lautet {{1},{1},{3,3,3,3,3},{3/2,3/2}}. Und hier beginnt schon mein Problem... Mein nächstes Ergebnis die ich erzielen muss lautet {{1},{2},{5,5,5,5,5},{17/2,17/2}}. Meine Idee war mit Hilfe der Befehl Internal´PartitionRagged eine Liste zu erstellen der von 1 bis n geht und es dann nach Muster b zu teilen und ihre Mittelwerte zu berechnen.Zuletzt wollte ich mit MapThread die Mittelwertliste nach Länge der b wiederholen lassen und somit hätte ich Ränge ermittelt. Jedoch da der Befehl Internal´PartitionRagged nicht dokumentiert ist darf ich es nicht benutzen . Ich soll eine einfachere Weg finden,jedoch komme irgendwie nicht dazu. Meine Ideen: was ich als Lösungsweg benutzen soll,ist irgendwie von der Zahlenliste {{1},{1},{3,3,3,3,3},{3/2,3/2}} die Anzahl der Vorgänger der Zahlen zu der Liste addieren z.b. die zweite Zahl 1 hat einen Vorgänger und deshalb addiere dann 1 dazu und wird 2; die dritte Zahlenliste hat 2 Zahlenvorgänger und dies wird dazu addiert und wird somit 5 usw. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|