Izračun iz tabele
 
drion 14. jan 2014 19:45:05 Pridružen od:
30. sep 2010
603 objav
304 205 29
#1

Zdravo!



kako bi zgledala koda za to, da iz matrice izbere naključno polje, nato še tri naslednja polja - te med seboj deli in na koncu primerja z rezultatom iz tistega prvega polja in primerja (če je večje od 1).



Računa tako dolgo, dokler ne izračuna vseh možnosti.



Najraje v Python-u


všeč(0) ni všeč(0) spam(0)
*Uporabniku je bila onemogočena uporaba foruma zaradi goljufanja pri trgovanju.*
 
iztoks 15. jan 2014 07:18:53 Pridružen od:
16. apr 2012
161 objav
246 25 3
#2

A to bi šlo za enodimenzionalono matriko oz enodimenzionalen array? Kaj se zgodi v primeru da računaš za člen ki je zadnji v matriki? Začneš na začetku matrike? Torej naprimer če je peti člen zadnji nato deliš n1/n2/n3? In kaj če je matrkia manjša od štiri člene? Zakaj naključno če boš itak zračunal vse?



Zdej ni mi sicer use jasno ampak recimo nekako takole bi lahko to zgledalo


matrika = [1, 2, 3, 4, 5]
rezultat =[]
for i in range(len(matrika)):
if (i < len(matrika) - 3):
#zdej pa kako boš točno to primerjal spet vprašanje
zacasni = matrika / matrika[ i+2 ] /matrika[ i+3 ]
rezultat.append(matrika > zacasni)

Neki na to foro sam je se kr velik nejasnosti, pac da spravis ta primerjanja v nov list


všeč(1) ni všeč(0) spam(0)
isd.si - moj osebni portfolio in blog
 
drion 15. jan 2014 10:31:58 Pridružen od:
30. sep 2010
603 objav
304 205 29
#3

Matrika izgleda tako:


   red       blue      green     silver    black     yellow    purple

red 0.8333 12.322 13.649 15.060 14.831 105.854

blue 12.002 14.789 16.379 18.074 17.800 127.008

green 0.8116 0.6762 11.076 12.223 12.037 85.892

silver 0.7327 0.6105 0.9029 11.035 10.867 77.549

black 0.6640 0.5533 0.8182 0.9063 0.9848 70.290

yellow 0.6743 0.5618 0.8308 0.9202 10.154 71.360

purple 0.0945 0.0787 0.1164 0.1290 0.1423 0.1401



Prilagam sliko, ker ne gre prilepiti matike.



Izračun pa je takšen:



Ena enota rdeče je enaka 12.002 enotam modre; 12.002 enot modre je enaka 177497578 enotam zelene (12002*14789); 177497578 enot zelene je enaka 21870 enotam rdeče (177497578/8116). Če pogledaš vidiš, da sma začela z eno enoto rdeče. Te vrednosti me zanimajo – se pravi če začnem z eno vrednostjo in jo primerjam (izračun) z ostalimi, da dobim vrednost večje kot 1 (tisto začetno stanje). Kombinacije pa sta minimalno dve.


všeč(1) ni všeč(0) spam(0)
*Uporabniku je bila onemogočena uporaba foruma zaradi goljufanja pri trgovanju.*
 
iztoks 15. jan 2014 11:57:08 Pridružen od:
16. apr 2012
161 objav
246 25 3
#4

Ja potem če imaš razmerja vedno enaka definiraš recimo dictonary za rdeča je 1:


colors = {'red':1,
'blue':0.8333,
'green':12.322,
'silver':13.649,
'black': 15.069,
'yellow':14.831,
'purple':105.854}

Potem pa računaš multiplikataor glede na to za x katere bare te zanima koliko je y druge barve, napimer da te zanima za 12.002 modre koliko je to ostalih


multiplier = 12.002 / colors['blue']

In potem računaš in izpišeš


for color in colors:
print color + ' = ' + str(colors[color] * multiplier)

In za ta primer dobiš


blue = 12.002
purple = 1524.61263411
yellow = 213.610538822
black = 217.038447138
green = 177.473471739
silver = 196.586221049
red = 14.402976119

Tako nekako, bit te moralo to pomojem prav usmerit, upam da pomaga :)


všeč(2) ni všeč(0) spam(0)
isd.si - moj osebni portfolio in blog
 
drion 15. jan 2014 12:25:50 Pridružen od:
30. sep 2010
603 objav
304 205 29
#5

Problem je, da ne moreš definirat, ker gre za spreminjujoče vrednost :/


všeč(0) ni všeč(0) spam(0)
*Uporabniku je bila onemogočena uporaba foruma zaradi goljufanja pri trgovanju.*
 
drion 19. jan 2014 16:47:51 Pridružen od:
30. sep 2010
603 objav
304 205 29
#6

Ok, tako je: sedaj sem z firebugom pogledal od kot jemljejo podatke za matrico in sem jo z urlibom spravil na disk. Sedaj je potrebno dolocit katere celice naj med seboj racuna. kako bi to dolocil? Problem je tudi, da mora biti odzadaj tudi neka "logika", da vzame vsa polja i njih medseboj tako dolgo racuna, dokler ena vrednost ni vecja od 1.


všeč(0) ni všeč(0) spam(0)
*Uporabniku je bila onemogočena uporaba foruma zaradi goljufanja pri trgovanju.*
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se