subsasgn - Maple Help

Online Help

All Products    Maple    MapleSim


MTM

  

subsasgn

  

subscript assignment of arrays

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

subsasgn(A,index,val)

Parameters

A

-

array or record

index

-

Record, list, or Array

val

-

any expression

inplace=truefalse

-

(optional) default to true

Description

• 

The subsasgn command mirrors subscript assignment in MATLAB®. Using A(index) = val in MATLAB® will produce the same result as subsasgn(A,index,val).  

• 

subsasgn returns an array of the same type as A.  The result may be a copy of A.  Typically the returned result will be a reference to the same A that was passed in.

• 

Use the calling sequence A := subsasgn(A,index,val) when you want to continue using A as if A[index] := val had been executed.  Assigning A to the result will ensure your code uses the updated version of A when a copy was returned.

• 

If you always want a copy of the result use the option inplace=false. With inplace=true, a copy will only be generated if the operation results in an array that is bigger than the input array (has more dimensions, or larger ranges in any dimension).

• 

More complicated MATLAB® indexing, such as A(index1).index2(index3) require the use of a Record or array of Records with "type" and "subs" fields to specify the subreference for each indexing operation.  The "type" field can have the values "()", "{}", or ".".  There is no distinction between the first two, "()" and "{}", which indicate array-indexing. The "." type indicates an index into a Record.  The "subs" field contains the actual index value.  For example A(i,j) can be modified up via subsasgn(A,Record(type="()",subs=Array([i,j])),val); Similarly A(i,j).name can be updated via subsasgn(A,< Record(type="()",subs=Array([i,j])) Record(type=".",subs="name") >, val );.

Examples

withMTM&comma;subsasgn&colon;

AArray1&comma;2&comma;3&comma;4

A1234

(1)

subsasgnA&comma;1&comma;1&comma;5

5234

(2)

A1,1

5

(3)

RRecordname=Paul

RRecordname=Paul

(4)

subsasgnR&comma;Recordtype=.&comma;:-subs=name&comma;Bryan

R

(5)

R:-name

Bryan

(6)

BArrayRecordname=Paul&comma;Recordname=Bryan

BRecordname=PaulRecordname=Bryan

(7)

subsasgnB&comma;Recordtype=()&comma;:-subs=2&comma;Recordtype=.&comma;:-subs=name&comma;Michael

Recordname=PaulRecordname=Michael

(8)

B2:-name

Michael

(9)

See Also

MTM[subsref]

Record