Jeg sider og leger lidt med at representere vektorer i et n dimentionalt rum i databasen. Jeg bruger følgende tabel:
Vektorrum (vector, dimension, coordinate) Hvor vector er 'navnet' på min vektor, dimension, er den/de dimensioner den udstrækker sig i og coordinate er hvor stor vektorens koordinat er i den givne dimension. 2 veckorer i et 3 dimensionalt rum ser altså således ud:
1, 1, 1 1, 2, 1 1, 3, 1 2, 1, 1 2, 2, 0 2, 3, 1
Hvor vektor 1 går lige ud i det 3 dimentionale rum mens vektor 2 ligger i planen af dimension 1 og 3 (da den går 0 ud i dimension 2).
Mit problem er at når jeg kaster data ind i denne tabel får jeg, pga den struktur de data jeg læser har, kun data hvor coordinate > 0. Dvs at hvis jeg skal regne vinklen mellem 2 vektorer får jeg fejl da di dimendioner hvor en af vektorerne er 0 ikke medtages i beregningen.
Så hvordan kan jeg finde de manglende dimensioner og indsætte de korrekte rækker med 0er?
Hvis du ikke har andre oplysninger, så kan det ikke lade sig gøre, da du ikke er i stand til at bestemme dimensionen af en given vektor.
I dit eksempel ovenfor kan du eksempelvis godt afgøre at 2,2 mangler, mens du ikke kan afgøre om 2,4 mangler eller ikke er med fordi vektor 2's dimension er 3.
de kører desværrer ikke lineært op dimensionerne det var bare nogle tal jeg kom med.
Mit problem kan lige så godt være en vektor i dimensionerne 6 og 15 skal sammenlignes med en anden der kun er i 15, her skal jeg så finde ud af at 6 mangler for at kunne lave en sammenligning.
Line nu kan jeg kun gøre det i n^2 tid med nogle lidt for store konstanter men jeg vil meget gerne kunne komme under det.
Som jeg beskrev i mit tidligere indlæg kan du slet ikke gøre det, for du ved ikke, om et eller flere af de sidste elementer mangler, med mindre du kender dimensionen.
Det giver ikke mening at tale om 6, 15 eller n^2 før der er styr på det problem.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.