I guess you can use the operator % to index the columns. Look, if the vector column is [A, B, C] address by [0, 1, 2], u can use index i+1%3. The vector[2] goes to vector[0], vector[0] to vector[1] and vector [1] to vector[2] automatically.
2015-05-08 18:32 GMT-04:00 Paul Anzel <[email protected]>: > Are you trying to cyclically permute the columns of a matrix? So for a > 3x3 matrix of columns [A, B, C] you want [C, A, B]? Then you'd right > multiply (X_new = X*M) by a matrix M = > [0, 1, 0] > [0, 0, 1] > [1, 0, 0] > (generalizing to higher dimensions is trivial). > > And yes, this is not a particularly debian-laptop appropriate question. > For math questions of this sort, I'd recommend browsing/posting at > https://math.stackexchange.com/ > > On 05/08/2015 02:24 PM, giulianc51 wrote: > > Il giorno Sat, 9 May 2015 01:21:44 +0530 > > Arghya Das <[email protected]> ha scritto: > > > > Hi Arghya, > > (sorry for my bad english) > > > > > >> Does anyone know how to rotate a 2d matrix circularly for 'n' times in > >> suppose C language...? It would be a lot of help if you could explain > >> with code. > > I don't understand your expression "rotate a 2d matrix circularly"; as > > Jan-Rens explained you, you can build a matrix > > M = | cos(theta) sin(theta)| > > |-sin(theta) cos(theta)| > > and a vector > > X = | x | > > | y | > > (in linear algebra the vectors are column-wise); if you repeat the > > multiplication X = M*X you have a series of vectors X, each rotating a > > theta angle respect to the previous one; > > > > best regards, > > giuliano > > > > > > PS: if you want you can operate with row vectors using the > > transposition X = X*transpose(M), but normally, as I said, the vectors > > are disposed as column; > > > > > > > > -- > To UNSUBSCRIBE, email to [email protected] > with a subject of "unsubscribe". Trouble? Contact > [email protected] > Archive: https://lists.debian.org/[email protected] > >

