Tja!
Jag är i behov av er hjälp med ett litet problem i matlab.
Jag har en vektor vald=[1;0;0]
Som illustrerar vilket alternativ jag tidigare använt mig av och inte får använda igen.
Vald illustrerar vilken plats i vektorn s=[20;5;10] jag tidigare har valt. Jag får alltså inte välja det första alternativet igen, men hur gör jag detta?
Låt oss säga att jag har ett behov som från början är 32, när ni kommer in i koden så har jag redan valt 20 och mitt behov är alltså nu 32-20=12. Kodsnutten som jag behöver hjälp med ska alltså göra detta:
while behov >= 0
kolla vilket värde som är störst i vektorn s,
kolla så att det inte är valt vald=1 på den platsen,
om det är valt, kolla näst största om det är valt etc
sätt vald=den position vi väljer
behov - valda i s (ex 12-10=2)
loopa tills behovet är <= 0
Jag har försökt att beskriva mitt problem så tydligt som möjligt och hoppas att ni kan hjälpa mig med det. Koden ska fungera för vektorer med varierande storlek exempelvis s=[13 300 21 453 2 20]
Hoppas att någon kan hjälpa mig med denna lilla kodsnutt, tack på förhand!