rtable_redim - Maple Programming 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

Parameters

Description

Thread Safety

Examples

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

VVectorx,y,z,w

V:=xyzw

(1)

rtable_redimV,4

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

(2)

AArray1..50,1..50,frandom

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

(3)

sub1A6..8,16..18:

dims1rtable_dimssub1

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

(4)

sub2A26..28,36..38:

dims2rtable_dimssub2

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

(5)

subaddsub1+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)

subaddsub1+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