IT

Hej! datalogi

14. oktober 2007 af E=m*c^2 (Slettet)
Nogen der ved hvordan man i java kan skrive en funktion så man for matrix-vektor-produkt eller matrix-produkt!

jeg har lavet en Driver så skal køre en matrix klasse og vektor klasse men jeg ved ikke hvordan jeg skal lave de to ovenover. er der nogen der har en idee!!!

Brugbart svar (2)

Svar #1
15. oktober 2007 af piper (Slettet)

Lad os starte med at se på Vektor-klassen. Her kan du i din konstruktør tage en integer som parameter, der skal angive længden af et array, som tilknyttes hvert objekt. Hvis du fx. Opretter en vektor i R^2 så skal man kunne oprette en vektor således Vektor u = new Vektor(2). Når du så skal give din vektor koordinater kan du bruge dine set-metoder, som du selv omtaler. Vektorens førstekoodinat vil så være førstepladsen i dit array og andenkoordinaten vil så være andenpladsen. (Tilsvarende for vektor med n koordinater).

Hvis du selv kan komme videre her fra - så fint - ellers så skriv.

Brugbart svar (2)

Svar #2
18. oktober 2007 af davie (Slettet)

Pseudokode til matrix-produkt gives herunder.. Hvis det ikke var det du bad om er du hermed advaret..

prod(Matrix mat1, Matrix mat2)
if(cols(mat1)!=rows(mat2))
return; //Matrix produktet giver ikke mening.. Exception eller lign..
Matrix result=new Matrix(rows(mat1),rows(mat2))
for(i=0 to rows(mat1))
for(j=0 to cols(mat2))
for(k=0 to cols(mat1))
result[i][j]+=mat1[i][k]*mat2[k][j]
return result

Jeg håber du kan får noget ud af det.. En matrix er i bund og grund bare et dobbelarray... Og det er en vektor også..Bemærk i øvrigt her, at en vektor ikke bare er en vektor.. En n-vektor kan være en 1 x n-matrix eller en n x 1-matrix og det gør en stor forskel hvilken..

Skriv et svar til: Hej! datalogi

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.