Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte anhand Kurve verteilen

Werte anhand Kurve verteilen
27.07.2015 22:42:28
Jonas
Hallo,
ich habe eine "Kurve", die beispielsweise so aussieht: 10,0,10,0,20,10,0,20,0,10,20. Die Summe ist immer 100, sollen so eine Art Prozentwerte sein.
Nun soll eine Zahl auf verschiedene Arrays mit verschiedener Länge (um die 75-150 Werte) anhand dieser "Kurve" verteilt werden. Wenn die "Kurve" eine Gerade ist, ist das einfach, dann kommt einfach in jeden Wert des Arrays die gleiche Zahl. Aber wie setze ich das mit obigem Beispiel um?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Eine beliebige Zahl soll anteilig auf Elemente ...
28.07.2015 04:22:58
Luc:-?
…eines Datenfelds (Array) verteilt wdn, enthehme ich der Beschreibung, Jonas;
dieses Datenfeld wäre im Idealfall ein (horizontaler) Vektor. Dann entsprächen die x-Werte der KurvenFkt den Indizes des DFeldes und die y-Werte den TeilWerten des Ausgangswerts. Das BspMuster zeigt nun 11 derartige TeilWerte (Indizes 0…10), die einer entsprd Aufteilung eines Ausgangswerts 100 entsprechen.
Nun sind das aber viel zu wenig TeilWerte (=DFeld­Elemente), um daraus eine Kurve ableiten zu können → die Anstiege der Teil­Strecken sind so nämlich linear, nur unterschiedlich steil!
Für die 1.beiden Werte ergibt sich so ein Abfall von 10 auf 0, dem zum 3.Wert hin ein Anstieg von 0 auf 10 folgt. Das ergäbe Δei=emax/(n-1) (für i=[0,1] bzw [1,2], n= Anzahl ei), also hier ±10. Bei 3 Werten auf solcher Teil­Strecke ergäben sich aber ±5, was aber nicht mit dem zu verteilenden Anteil über­ein­stimmen würde, denn das ergäbe dann 15 Anteile, obwohl nur 10 verteilt wdn dürfen! In diesem Fall würde die Fml also emax/n lauten, wodurch der mittlere Wert bei 10/3, der erste bei 20/3 und der dritte bei 0 läge. In der Summe ergibt das 30/3 also 10 Anteile. Folglich muss von einem (vorerst fiktiven) Mittelwert ausgegangen wdn, wobei die unter­schied­liche Bildungs­regel für gerade und ungerade Elemente­Anzahlen zu berücksichtigen ist. Für 4 Elemente ergäbe sich so 10/3/2, was hierbei dem zweit­kleinsten Wert entsprechen würde, für 5 Elemente 10/5 als mittlerer Wert, der so schrittweise zu erhöhen bzw zu vermindern ist, dass der Mittelwert der korrespon­dierenden Werte dem ermittelten entspricht. Dann ergibt sich auch in der Summe wieder 10.
Du musst also nun einen entsprd Algorithmus entwickeln, um die Anteile pro Element, abhängig von der Gesamt­zahl der Elemente, zu berechnen. Diese Anteile sind nach­ein­ander in das Datenfeld ein­zu­tragen, das dann nur noch mit dem jeweiligen Vorgabe­wert zu multi­plizieren ist.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
Der auf diese Weise ermittelte mittlere Wert ...
28.07.2015 12:16:39
Luc:-?
…einer Teilstrecke der ZickzackLinie entspricht bei ungerader Elemente­Anzahl dem Median der Indizes­Reihenfolge und somit letztlich der dadurch repräsentierten Wertefolge. Damit tritt für gerade Elemente­Anzahl die Rechen­Regel für den Median (nicht den zuvor fälschlich genannten Mittelwert) als Mittelwert der beiden mittleren Werte in Kraft.
Aus dem max ei der Muster­Bsp-Teil­strecke über i=[0;1] kann so der Median einer Teil­strecke über eine beliebig vermehrte Elemente­Anzahl berechnet wdn:
1. für ungerade Anzahl → emax/n; bei 3 Elementen also 10/3, bei 5 10/5 usw. Dieser Wert ist dann durch die Anzahl der Folge­Elemente bis zu emin (hier =0) zu teilen, also emed/((n-1)/2), was dann folgender Fml für den Anstieg von emin zum nächst­größeren e entspräche: (emax/n)/((n-1)/2)
2. für gerade Anzahl würde sich dieser Anstieg dann so berechnen lassen: (emax/(n-1))/(n/2)
Beide, unter 1./2. (letzt-)genannten Fmln lassen sich dann zu einer einzigen zusammen­fassen, die für den Anstieg sowohl bei gerader als auch ungerader Elemente­Anzahl gilt: 2*emax/(n*(n-1))
Die sich aus der Anwendung dieser Fml ergebenden EinzelAnteile wdn ins Datenfeld eingetragen. Der Vorgabe­wert wird dann entweder durch das Datenfeld geteilt oder mit dem durch 100 (%e!) geteilten Datenfeld multipliziert.
Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige