(100* 0{"2 mat) 0}"2 mat
instead, try
(100* 0{"2 mat) 0}"1 2 mat
or
(100* 0{"2 mat) 0}"_1 mat
or
(100* 0{"2 mat) (<a:;0)} mat
Henry Rich
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Robert O'Boyle
> Sent: Saturday, July 26, 2008 11:00 AM
> To: [email protected]
> Subject: [Jprogramming] Amend question
>
> Hi, all. This is a real newbie question involving amend }. I have an
> arbitrary matrix MAT = 2 3 4 $ i.100.
>
> mat
>
> 0 1 2 3
>
> 4 5 6 7
>
> 8 9 10 11
>
>
>
> 12 13 14 15
>
> 16 17 18 19
>
> 20 21 22 23
>
>
>
> I want to substitute the first row of each plane with new
> lists. I extract
> the original lists and multiple them by 100 by 0{"2 mat
>
>
>
> 100* 0{"2 mat
>
> 0 100 200 300
>
> 1200 1300 1400 1500
>
>
>
> Now comes the surprise. I can't reverse the process of
> amending the original
> matrix with amend }
>
>
>
> (100* 0{"2 mat) 0}"2 mat
>
> |rank error
>
> | (100*0{"2 mat) 0}"2 mat
>
>
>
> I can do this with explicit indexing
>
>
>
> (100* 0{"2 mat) (<0 1; 0; 0 1 2 3) } mat
>
> 0 100 200 300
>
> 4 5 6 7
>
> 8 9 10 11
>
>
>
> 1200 1300 1400 1500
>
> 16 17 18 19
>
> 20 21 22 23
>
>
>
> But when I tried using a: to index all planes and columns, I
> get a length
> error
>
>
>
> (100* 0{"2 mat) (<a:; 0; a:) } mat
>
> |length error
>
>
>
> I tried parentheses and the like but still got the error. I
> suspect this one
> is simple syntax but the first one puzzles me.
>
>
>
> Any wisdom on this would be much appreciated.
>
>
>
> Bob
>
>
>
>
>
>
>
> ----------------------------------------------------------------------
> For information about J forums see
> http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm