Constructing Arrays

Arithmetic Progression

% [nap "3 .. 8"]l # Default step is either 1
3 4 5 6 7 8
% [nap "8 .. 3"]; # or -1
8 7 6 5 4 3
% [nap "-1 .. 2 ... 1r2"] value; # From -1 to 2 in steps of 1/2
-1 -0.5 0 0.5 1 1.5 2
% [nap "-1 .. 0.9 ... 1r2"] value; # Final step may be smaller!
-1 -0.5 0 0.5 0.9
% [nap "4 ... 3 .. 8"]; # 4-element vector from 3 to 8 
3 4.66667 6.33333 8

Catenate: ('//')

% [nap "{3 1 9} // {0 -1 5}"]
3 1 9 0 -1 5

Laminate ('///')

% [nap "{3 1 9} // {0 -1 5}"]
% [nap "{3 1 9} /// {0 -1 5}"]
 3  1  9
 0 -1  5

Reverse (niladic '-')

% nap "x = {9 1 0 2 3}"
::NAP::24-24
% [nap "x(-)"]
3 2 0 1 9

Replicate (binary '#')

% [nap "{2 0 1 1 0} # x"]
9 9 0 2
% [nap "2 # x"] value
9 9 1 1 0 0 2 2 3 3
% [nap "(x % 2 == 0) # x"]; # select even elements
0 2
% [nap "(x % 2 == 0)"]
0 0 1 1 0

Function reshape

% nap "m = reshape(1 .. 6, {3 4})"
::NAP::126-126
% $m
1 2 3 4
5 6 1 2
3 4 5 6
% [nap "reshape(m)"] value
1 2 3 4 5 6 1 2 3 4 5 6

Function transpose

% [nap "transpose(m)"] value
1 5 3
2 6 4
3 1 5
4 2 6

Function sort

% [nap "sort({3.6 -1 0 -9 9})"]
-9 -1 0 3.6 9

Author: Harvey Davies       © 2005, CSIRO Australia.       Legal Notice and Disclaimer
CVS Version Details: $Id: demo_construct.html,v 1.2 2005/03/15 00:21:29 dav480 Exp $