Elég standard dolognak tűnik, mégsem találok rá megoldást. Hogyan szokás/lehet az alábbit leprogramozni? Végigmenni egy tetsz. N-dimenziós rácson?
Figyelt kérdés
Szóval a lényeg, hogyha a dimenzió ismert előre, akkor vannak erre függvények, pl. meshgrid, vagy ngrid MATLAB-ban pl., de kézzel is meg lehet csinálni N darab for ciklust egymásba pakolni. De mi van, ha a függvény/script input paramétere az N dimenzió, azaz előre nem tudom? És lehetőleg olyan megoldás kéne, ami nem tárolja a gridpontokat, mert tipikusan nagyon sok lesz, és nem akarok memóriában túlcsordulni, csak szeretnék végigmenni rajtuk!2017. dec. 11. 16:08
1/4 anonim válasza:
Mik a peremfeltételek?
Ha egy dimenzió mentén mondjuk 25 a maximális érték, akkor be tudod járni a rácspontokat, ha
[n1, n2,..., nk] tömböket generálsz.
Ezt úgy tudod megtenni, hogy az első elem a
[0,0,0,...,0]
minden lépésben növeled az utolsó elemet 1-el.
Ha eléri a küszöböt, askkor az utolsó elem értéke visszaáll 0-ra, és az eggyel előbbit növeled.
Egy ilyen növeld 1-el függvényt egyszerű megírni.
Így minden rácspont előáll egyszer.
Viszont baromi sok ideig fog tartani, míg bejárod az összes rácspontot.
Ha n dimenzió van és minden dimenzión el akarsz menni K-ig, akkor az K^n rácspont, tehát exponenciálisan nő a rácspontok száma.
2/4 A kérdező kommentje:
köszi közben rájöttem, hogy erre a számrendszerek használatata legmegfelelőbb, és nem kell nekem léptetni, csak veszem megfelelő számrendszerben a legnagyobb N jegyű számot és 1-től léptetek addig egyesével és a számjegyek megadják a rácspontok koordinátáit
2017. dec. 12. 10:25
3/4 anonim válasza:
ehhez miért kell számrendszer? vagy mi van?
4/4 A kérdező kommentje:
hát gondolkozz el rajta, mert akkor az indexből a koordináták automatikusak, az minden programnyelvben van, nem kell megírni
2017. dec. 12. 20:18
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!