putvals#

Purpose#

Inserts values into a matrix or N-dimensional array.

Format#

y = putvals(x, inds, vals)#
Parameters:
  • x (MxK matrix or N-dimensional array) – data

  • inds (LxD matrix) – indices specifying where the new values are to be inserted, where D is the number of dimensions in x.

  • vals (Lx1 vector) – new values to insert.

Returns:

y (MxK matrix or N-dimensional array) – copy of x containing the new values in vals.

Examples#

// Data matrix
x = { -0.8750  0.3616  0.6032 -0.3974,
       0.7644 -1.8509 -0.2703 -0.8190,
       0.7886  1.2678 -1.4998 -0.5876,
       0.6639 -0.7972  1.2713  0.1896,
       0.6303  0.7879 -0.7451 -0.5419 };

// Indices
inds = { 1 1, 2 4, 3 2, 3 4, 5 3 };

// Values to insert
vals = seqa(1, 1, 5);

// Insert values
y = putvals(x, inds, v);

After the code above:

    1.000  0.362  0.603 -0.397      1.00
    0.764 -1.851 -0.270  2.000      2.00
y = 0.789  3.000 -1.500  4.000  v = 3.00
    0.664 -0.797  1.271  0.190      4.00
    0.630  0.788  5.000 -0.542      5.00

Remarks#

If x is a vector, inds should be an Lx1 vector. If x is a matrix, inds should be an Lx2 matrix. Otherwise if x is an N-dimensional array, inds should be an LxN matrix.

putvals() allows you to insert multiple values into a matrix or N-dimensional array at one time. This could also be accomplished using indexing inside a for loop.