pvPackmi#
Purpose#
Packs general matrix or array into a PV
instance with a mask, name, and index.
Format#
- p1 = pvPackmi(p1, x, nm, mask, i)#
- Parameters:
p1 (struct) – an instance of structure of type
PV
x (MxN matrix or N-dimensional array) – data
nm (string) – matrix or array name.
mask (MxN matrix or N-dimensional array) – mask of zeros and ones.
i (scalar) – index of matrix or array in lookup table.
- Returns:
p1 (struct) – instance of
PV
struct.
Examples#
// Declare PV structure
struct PV p1;
p1 = pvCreate;
// X matrix to be packed
x = { 1 2,
3 4 };
// Mask
mask = { 1 0,
0 1 };
// Pack x into "X" in PV struct
p1 = pvPackmi(p1, x, "X", mask, 1);
print pvUnpack(p1, 1);
1.000 2.000
3.000 4.000
p1 = pvPutParVector(p1, 5|6);
print pvUnpack(p1, 1);
5.000 2.000
3.000 6.000
Remarks#
The mask allows storing a selected portion of a matrix into the
parameter vector. The ones in the mask matrix indicate an element to be
stored in the parameter matrix. When the matrix is unpacked (using
pvUnpackm()
) the elements corresponding to the zeros are restored.
Elements corresponding to the ones come from the parameter vector.
If the mask is all zeros, the matrix or array is packed with the specified elements in the second argument but no elements of the matrix or array are entered into the parameter vector. When unpacked the matrix or array in the second argument is returned without modification.
See also
Functions pvPackm()
, pvUnpack()