» »

Enakomerna porazdelitev v tabelo, rabim en algoritem...

Enakomerna porazdelitev v tabelo, rabim en algoritem...

Totscha ::

OK.

Problem je takšen: imam en stolpec in eno vrstico številk. Vsota stolpca je enaka vsoti vrstice (v tem primeru je to 160). Zdaj bi želel te podatke čim lepše enakomerno porazdeliti v križno tabelo, tako da se vsote stolpcev in vrstic seveda ujemajo z vhodnimi podatki.

Malo ilustracije:

S1 S2 S3 S4
45 57 34 24

V1 50 ? ? ? ?
V2 36 ? ? ? ?
V3 52 ? ? ? ?
V4 22 ? ? ? ?


Če vzamem, da je recimo vrednost celice S1V1 enaka V1*S1/(S1+S2+S3+S4) dobim sicer lepo porazdelitev, vendar v splošnem vsota vseh celic ni enaka izhodiščni vsoti zaradi zaokroževanja na cela števila v vsaki celici.

Ma kdo kako idejo na kakšen način naj se lotim tega problema?
Haters gonna hate... ;)

Gundolf ::

A to je neka eksaktna formula ki naj bi dal točne vrednosti? Hočem reči po tej formuli bi se moralo dati zafilat itabelo tako da ustreza tvojim kriterijem?

Ker če je formula točna potem se ti te ostanki, (rezultat je 14.0625, vpiše se 14, ostanek je 0.0625) skupaj seštejejo v celo število in moraš to številko dodati v pravilen stolpec in pravilno vrstico. Ampak se mi zdi da si pri tem spet pri prvotnem problemu, le z manjšimi številkami.

Druga ideja je pa da tako poračunaš vse elemente razen zadnje vrstice in zadnjega stolpca, ta dva pa izračunaš direktno kot ciljna vsota - sum(vseh že določenih elementov v vrstici / stolpcu).

Totscha ::

Ta moja začetna formula je samo približek. Itak zaradi same problematike ne morem določiti točnih vrednosti, ker so točne vrednosti v splošnem realna in ne cela števila.

Zdaj sem prišel do ene rešitve, ki mi kar ustreza, ker je več kot dovolj natančna:

Vse vrednosti tiste formule zaokrožim navzdol na celo število in tako dobim vsoto, ki je nujno manjša od vsote vhodnih števil. Potem mi ostane samo še to da določim tabelo, ki vsebuje v celicah vrednosti 0 in 1, na tak način, da bo vsota teh dveh tabel dala pravilni rezultat.

Zdaj sem algoritem za določanje te druge tabele sestavil takole: -za vsako vrstico in stolpec vem koliko mi še manjka vrednoisti, da bo vsota v posamezni vrstici/ stolpcu prava. Grem lepo po vrsticah in v to vrstico vstavim 1 v toliko celic te vrstice kolikor mi manjka do prave vsote. V katero celico posamezne vrstice pa to dam? Začnem s celico v stolpcu v katerem je največja razlika do prave vsote in tako naprej. Ta postopek je 100% in vedno pride do pravilne rešitve.

Naključno razporeditev pa zagotovim tako, da vrstic ne izbiram vedno v istem vrstnem redu, ampak naključno.
Haters gonna hate... ;)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

pomoč excel (strani: 1 2 )

Oddelek: Programska oprema
587365 (2942) -JM-
»

Excel, kako izračunati

Oddelek: Programiranje
82158 (1897) Dionis
»

Pomoč - excel (countif)

Oddelek: Pomoč in nasveti
5902 (870) Camel
»

Excel Težava - fukncija

Oddelek: Pomoč in nasveti
202362 (2055) smetko
»

excell razvrščanje

Oddelek: Programska oprema
213902 (3546) rferrari

Več podobnih tem