help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: something like a modulo function (but not)?


From: Robert A. Macy
Subject: Re: something like a modulo function (but not)?
Date: Wed, 27 Oct 2004 10:28:20 -0700

does 
mod(idx1-1,5)+1
work?

On Wed, 27 Oct 2004 11:15:09 -0600
 "E. Joshua Rigler" <address@hidden> wrote:
> I feel a little silly even asking this question, but
> since when has that
> stopped me :^)?  I have a vector of sequential indices to
> a 2-D matrix
> that I want to convert to a set of column-wise vector
> indices.  For
> example a particular 5x5 matrix would be fortran indexed
> as:
> 
>         mtrx = [ 1   6  11  16  21 ]
>                  [ 2   7  12  17  22 ]
>                  [ 3   8  13  18  23 ]
>                  [ 4   9  14  19  24 ]
>                  [ 5  10  15  20  25 ]
>         
> I extract a subset of this matrix that gives me the
> following vector of
> indices:
> 
>         idx1 = [ 3   5   8  10  13  15  18  20  23  25 ]
> 
> and wish to convert it to something like:
> 
>         idx2 = [ 3   5   3   5    3   5   3    5   3   5
> ]
> 
> The first thing that popped into my head was that I would
> need to use
> the modulo function in Octave (i.e., idx2=mod(idx1,5)),
> but of course
> that would give me:
> 
>         idx2 = [ 3   0   3   0    3   0   3    0   3   0
> ]
> 
> I guess what I really want is something similar to
> modulo, except where 
> mod(n,I*n)=n,  not zero ("I" is an integer).  The best
> solution I could
> come up with on my own is:
> 
>         octave:44> idx2 = mod(idx1,5)+(mod(idx1,5)==0)*5
>         idx2 =
>          
>           3  5  3  5  3  5  3  5  3  5
>         
> Can anyone out there suggest something a little more
> elegant that would
> have less impact on a long and already computationally
> intensive
> iterative function?  Am I just being dense?
> 
> -EJR
> 
> 
> 
>
-------------------------------------------------------------
> Octave is freely available under the terms of the GNU
> GPL.
> 
> Octave's home on the web:  http://www.octave.org
> How to fund new projects:
>  http://www.octave.org/funding.html
> Subscription information:
>  http://www.octave.org/archive.html
>
-------------------------------------------------------------
> 



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]