change the upper and lower bounds of the dimension(s) of an rtable - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Data Types : Rtables, Arrays, Matrices, and Vectors : Operations : rtable_redim

rtable_redim - change the upper and lower bounds of the dimension(s) of an rtable

Calling Sequence

rtable_redim(A, newDim, ...)

rtable_redim(A, subType)

Parameters

A

-

rtable object

newDim

-

a new lower bound or lower..upper bound range, one per dimension

subType

-

a new rtable sub-type, such as Matrix or Vector[row]

Description

• 

The rtable_redim command changes the lower and upper bounds of each dimension of an Array, Matrix, or Vector.

  

If A is a Matrix or Vector, and one or more of the new lower bounds is not 1, A is changed into an Array.

• 

Each newDim parameter specifies either a new lower bound for the corresponding dimension, or a range giving both the lower and upper bound for that dimension.

  

Because rtable_redim cannot change the size of a dimension, the lower..upper form of newDim is equivalent to specifying just the lower bound. The range form is useful for making the dimensions of one rtable match those of another (see the examples).

• 

The number of newDim parameters specified can be at most the number of dimensions of A. If fewer newDims are specified, the remaining dimensions are left unchanged.

• 

Instead of a sequence of new dimensions, rtable_redim can be passed a subType argument, which must be one of one of Array, Matrix, Vector[row] or Vector[column]. This changes A to have that rtable sub-type. If the specified sub-type was Matrix, Vector[row] or Vector[column], the dimensions are also changed to have lower bounds of 1.

• 

Note that rtable_redim changes the dimensions (and possibly the subtype if A is a Matrix or Vector, or a subType was specified) in place. In other words, the rtable passed in is modified.

• 

rtable_redim returns A after modifying it.

Thread Safety

• 

The rtable_redim command is thread-safe as of Maple 15.

• 

For more information on thread safety, see index/threadsafe.

Examples

V:=Vectorx,y,z,w

V:=xyzw

(1)

rtable_redimV,4

Array4..7,4=x,5=y,6=z,7=w

(2)

A:=Array1..50,1..50,frandom

A:= 1..50 x 1..50 ArrayData Type: anythingStorage: rectangularOrder: Fortran_order

(3)

sub1:=A6..8,16..18:

dims1:=rtable_dimssub1

dims1:=6..8,16..18

(4)

sub2:=A26..28,36..38:

dims2:=rtable_dimssub2

dims2:=26..28,36..38

(5)

subadd:=sub1+sub2:

Error, (in `rtable/Sum`) invalid input: dimensions do not match: Array(6 .. 8,16 .. 18) cannot be added to Array(26 .. 28,36 .. 38)

rtable_redimsub2,dims1:

rtable_dimssub1

6..8,16..18

(6)

rtable_dimssub2

6..8,16..18

(7)

subadd:=sub1+sub2:

rtable_dimssubadd

6..8,16..18

(8)

rtable_redimsubadd,Matrix

0.53164695570.45791756850.87321267161.3030309420.45390106701.2396766010.24327613320.81611811190.2577136183

(9)

rtable_dimssubadd

1..3,1..3

(10)

See Also

Array, ArrayTools[Alias], Matrix, rtable, Vector


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam