Or, equivalently,
   b (* %&:(+/"1) [) x


----- Original Message -----
From: Roger Hui <[email protected]>
Date: Wednesday, December 2, 2009 8:46
Subject: Re: [Jprogramming] averages of non-zero elements of matrices
To: Programming forum <[email protected]>

> x is the data and b is the correspond mask.
> 
>    b=: ?3 4 5$2
>    x=: ?3 4 5$100
>    (+/"1 b*x) % +/"1 b
> 
> 
> 
> ----- Original Message -----
> From: Robert O'Boyle <[email protected]>
> Date: Wednesday, December 2, 2009 8:34
> Subject: Re: [Jprogramming] averages of non-zero elements of matrices
> To: 'Programming forum' <[email protected]>
> 
> > Thanks, Brian - slip of the finger on the leftmost entry. Here 
> > is the
> > correct mask
> > 
> >     mask=. 0 1 1 1 0, 1 1 1 1 1, 0 0 0 0 0,: 1 1 
> > 1 1 0
> >    mask
> > 0 1 1 1 0
> > 1 1 1 1 1
> > 0 0 0 0 0
> > 1 1 1 1 0
> > 
> > Which indicates that from matrix mat, I would like the average 
> > of columns 1
> > 2 3 of row one, all columns of row 2, none of row 3 and 0, 1, 
> 2 
> > and 3 of row
> > 4. 
> > 
> > Thus for mat
> > 
> > 0  1  2  3  4
> >  5  6  7  8  9
> > 10 11 12 13 14
> > 15 16 17 18 19
> > 
> > I would like 3 numbers output - 2 for row 1, 7 for row 2 and 
> > 16.5 for row 4
> > 
> > Thanks
> > 
> > Bob
> > 
> > 
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of Brian Schott
> > Sent: December 2, 2009 12:22 PM
> > To: Programming forum
> > Subject: Re: [Jprogramming] averages of non-zero elements of 
> matrices> 
> > Bob,
> > 
> > Please give your desired output with the example, because your 
> problem> specification is a little ambigous, especially with 
> your 
> > definition of
> > mask, because its leftmost entry has only 4 elements and does not
> > agree with your stated result.
> > 
> > On Wed, Dec 2, 2009 at 11:11 AM, Robert O'Boyle 
> > <[email protected]>wrote:
> > >
> > >
> > >
> > >   mask=. 0 1 1 1, 1 1 1 1 1, 0 0 0 0 0,: 1 1 1 1 0
> > >
> > 
> > [snip]
> > 
> > > Which properly identifies the row entries but shifts row 0 
> to 
> > the left by
> > > one.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to