Scilab Function

insertion - matrix and list insertion or modification

Calling Sequence

x(i,j)=a
x(i)=a
l(i)=a
l(k1)...(kn)(i)=a or l(list(k1,...,kn,i))=a
l(k1)...(kn)(i,j)=a or l(list(k1,...,kn,list(i,j))=a

Parameters

Description

  • MATRIX CASE i and j, may be:
  • - real scalars or vectors or matrices with positive elements.
  • * if a is a matrix with dimensions (size(i,'*'),size(j,'*')) x(i,j)=a returns a new x matrix such as x(int(i(l)),int(j(k)))=a(l,k) for l from 1 to size(i,'*') and k from 1 to size(j,'*'), other initial entries of x are unchanged.
  • if a is a scalar x(i,j)=a returns a new x matrix such as x(int(i(l)),int(j(k)))=a for l from 1 to size(i,'*') and k from 1 to size(j,'*'), other initial entries of x are unchanged.

    If i or j maximum value exceed corresponding x matrix dimension x is previously extended to the required dimensions with zeros entries for standard matrices, 0 length character string for string matrices and false values for boolean matrices.

  • * x(i,j)=[] kills rows specified by i if j matches all columns of x or kills columns specified by j if i matches all rows of x. In other cases x(i,j)=[] produce an error.
  • * x(i)=a with a a vector returns a new x matrix such as x(int(i(l)))=a(l) for l from 1 to size(i,'*') , other initial entries of x are unchanged.
  • x(i)=a with a a scalar returns a new x matrix such as x(int(i(l)))=a for l from 1 to size(i,'*') , other initial entries of x are unchanged.

    If i maximum value exceed size(x,1), x is previously extended to the required dimension with zeros entries for standard matrices, 0 length character string for string matrices and false values for boolean matrices.

  • if x is a 1x1 matrix a may be a row (respectively a column) vector with dimension size(i,'*'). Resulting x matrix is a row (respectively a column) vector
  • if x is a row vector a must be a row vector with dimension size(i,'*')
  • if x is a column vector a must be a column vector with dimension size(i,'*')
  • if x is a general matrix a must be a row or column vector with dimension size(i,'*') and i maximum value cannot exceed size(x,'*'),
  • * x(i)=[] kills entries specified by i.
  • - the : symbol which stands for "all elements".

  • * x(i,:)=a is interpreted as x(i,1:size(x,2))=a
  • * x(:,j)=a is interpreted as x(1:size(x,1),j)=a
  • * x(:)=a returns in x the a matrix reshaped according to x dimensions. size(x,'*') must be equal to size(a,'*')
  • - vector of boolean. If an index (i or j )is a vector of booleans it is interpreted as find(i) or respectively find(j)
  • - a polynomial. If an index (i or j )is a vector of polynomials or implicit polynomial vector it is interpreted as horner(i,m) or respectively horner(j,n) where m and n are associated x dimensions. Even if this feature works for all polynomials, it is recommended to use polynomials in $ for readability.
  • LIST OR TLIST CASE If they are present the ki give the path to a sub-list entry of l data structure. They allow a recursive insertion without intermediate copies. The l(k1)...(kn)(i)=a and l(list(k1,...,kn,i)=a) instructions are interpreted as: lk1 = l(k1) .. = .. lkn = lkn-1(kn) lkn(i) = a lkn-1(kn) = lkn .. = .. l(k1) = lk1 And the l(k1)...(kn)(i,j)=a and l(list(k1,...,kn,list(i,j))=a instructions are interpreted as: lk1 = l(k1) .. = .. lkn = lkn-1(kn) lkn(i,j) = a lkn-1(kn) = lkn .. = .. l(k1) = lk1
  • i may be :
  • - a real non negative scalar. l(0)=a adds an entry on the "left" of the list l(i)=a sets the i entry of the list l to a. if i>size(l), l is previously extended with zero length entries (undefined). l(i)=null() suppress the ith list entry.
  • - a polynomial. If i is a polynomial it is interpreted as horner(i,m) where m=size(l). Even if this feature works for all polynomials, it is recommended to use polynomials in $ for readability.
  • k1,..kn may be :

  • - real positive scalar.
  • - a polynomial,interpreted as horner(ki,m) where m is the corresponding sub-list size.
  • - a character string associated with a sub-list entry name.
  • REMARKS

    Examples

    See Also