Flerdimensionella vektorer
8 svar · 522 visningar · startad av Bobben
if it aint broke then dont try to fix it.
för mig känns det som en 2x2 matris om man deklarerar [2][2] och är det det som man e ute efter så e det ju bara att köra på. ev kanske det menas att java inte stöder massa "häftiga" funktioner som man vanligen använder på matriser men så länge det funkar e det ju bara att köra på.
ev måste man ju bara skriva lite mer kod för att manipulera matrisen som man vill.
Re: Flerdimensionella vektorer
Bobben skrev:
I boken Java på 21 dagar står det att Java inte stöder flerdimensionella vektorer, fast man kan skapa dem genom att deklarera en vektor av vektorer.
int[][] vektor = new int[2][2]Är inte det en "äkta" tvådimensionell vektor? :q
Jo, men sedan är frågan vad man menar med flerdimensionella vektorer. Ett sätt att se på saken, kan ju vara att double[5] är en femdimensionell vektor. Man kan ju ange i hela fem dimensioner hur långt den vektorn sträcker sig från origo.
Hmm... nu ska vi ta och reda ut begreppen här lite.
Det ni beskriver är inte en vektor i Javas mening, det är en array. Skillnaden mellan en Vector och en Array i Java är att en Vector kan ta ett godtyckligt antal Object medans en Array tar Object av en viss typ, t.ex. int, och är av en viss storlek. (och jag behöver inte få påpekat att int inte är ett objekt utan en atomär...)
En vektor i matematisk mening är en n-tupel, n = 1,2,3 ... Om n = 3 kan det ut så här (x,y,z), en punkt i rummet t ex...
Re: Re: Flerdimensionella vektorer
UlfT skrev:
Jo, men sedan är frågan vad man menar med flerdimensionella vektorer. Ett sätt att se på saken, kan ju vara att double[5] är en femdimensionell vektor. Man kan ju ange i hela fem dimensioner hur långt den vektorn sträcker sig från origo.
Hoppla, där får vi nog bromsa lite...
Det är stämmer inte att double[5] skulle motsvara en femdimensionell vektor (eller array). Vektorn är av en dimension med en värdemängd på 5!! Och inget annat...
double[5] kan väl ändå ses som en vektor som kan peka på en punkt i ett 5-dimensionellt rum...
mo:d:fi skrev:
double[5] kan väl ändå ses som en vektor som kan peka på en punkt i ett 5-dimensionellt rum...
Jo, men då i mening av 'rummet' och inte i mening av språket Javas notation.
Re: Re: Re: Flerdimensionella vektorer
N-Foe skrev:
UlfT skrev:
Jo, men sedan är frågan vad man menar med flerdimensionella vektorer. Ett sätt att se på saken, kan ju vara att double[5] är en femdimensionell vektor. Man kan ju ange i hela fem dimensioner hur långt den vektorn sträcker sig från origo.
Hoppla, där får vi nog bromsa lite...
Det är stämmer inte att double[5] skulle motsvara en femdimensionell vektor (eller array). Vektorn är av en dimension med en värdemängd på 5!! Och inget annat...
När jag betraktar det som en femdimensionell vektor, då syftar jag mer på ett matematiskt sätt att betrakta saken. Då kan du se en vektor som en "pil" med en viss längd och riktning. I de fall som man normalt kommer i kontakt med, handlar det om två- och tredimensionella vektorer, dvs [x y] och [x y z], där x-, y- och z-koordinaterna anger avståndet från koordinatsystemets axlar i vardera dimension. Även om det är svårt att föreställa sig ett femdimensionellt rum, funkar all matematik med vektorerna likadant där.
Vektorer i Java är inte detsamma som i matematiken. Mer korrekt hade det isf varit om Java haft tuplar med i språket, vilket det inte har. Så det närmaste man kan komma matematiska vektorer blir då arrayer, eftersom de är statiska (vilket inte javas vektorer är) precis som matematiska vektorer, då de finns inom ett bestämt rum.