subsasgn - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

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