Re: Kahden matriisin alkioiden summat

[vastaus aiempaan viestiin]

Kirjoittaja: Reijo Sund
Sähköposti:    -
Päiväys: 3.8.2011 16:11

> Miten kahden erikokoisen matriisin alkioista voi
> etsiä paria, joiden summa on tietty luku?

Kysymys on edelleen aika epämääräinen, mutta jos tarkoitus oli laskea
kahden mielivaltaisen matriisin alkioparien summat (eli ensimmäinen
summan tekijä matriisista A ja toinen matriisista B), niin alla
yksi tapa (oletuksena, että matriisissa A on enemmän tai yhtä paljon
alkioita kuin matriisissa B). Fiksumpiakin tapoja varmasti löytyy.

Tässä ideana on muuntaa matriisit vektoreiksi ja luoda sopiva
permutaatiovektori P. Sen jälkeen vain lasketaan ensimmäiset summat,
otetaan ne tekijöineen esiin ja pyöräytetään pitempää vektoria
"yhdellä eteenpäin". Tätä toistetaan, kunnes kaikki mahdolliset
alkioiden summat on laskettu.

.........................................................................
MATRIX A ///
1 2 3 4 5
6 7 8 9 0
1 2 3 4 5

MATRIX B ///
1 2
3 4
5 6
7 8


MAT SAVE A
MAT SAVE B
MAT AL=VEC(A)
MAT BL=VEC(B)
MAT DIM AL /* rowAL=15 colAL=1
MAT DIM BL /* rowBL=8 colBL=1
MAT R=ZER(rowBL,3)
MAT R(1,2)=BL
MAT P=CON(rowAL,1)
MAT #TRANSFORM P BY if(I#=rowAL)then(1)else(I#+1)

MAT R(1,1)=AL                 / Toista näitä neljää riviä kunnes
MAT R(1,3)=AL(1:rowBL,1)+BL   /  kaikki parit on käyty läpi
MAT LOAD R,END+2              /  eli tässä tapauksessa
MAT AL=PERM(AL,P)             /  rowAL=15 kertaa

.........................................................................

Vastaukset:
[ei vastauksia]

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.