MATLAB COM Builder | ![]() ![]() |
Class MWSparse
The MWSparse
class passes or receives a two-dimensional sparse numeric array into or from a compiled class method. This class has seven properties/methods:
Property NumRows As Long
Stores the row dimension for the array. The value of NumRows
must be nonnegative. If the value is zero, the row index is taken from the maximum of the values in the RowIndex
array.
Property NumColumns As Long
Stores the column dimension for the array. The value of NumColumns
must be nonnegative. If the value is zero, the row index is taken from the maximum of the values in the ColumnIndex
array.
Property RowIndex As Variant
Stores the array of row indices of the nonzero elements of the array. The value of this property can be any type coercible to a Variant
, as well as object types, with the restriction that the underlying array must resolve to or be coercible to a numeric matrix of type Long
. If the value of NumRows
is nonzero and any row index is greater than NumRows
, a bad-index error occurs. An error also results if the number of elements in the RowIndex
array does not match the number of elements in the Array
property's underlying array.
Property ColumnIndex As Variant
Stores the array of column indices of the nonzero elements of the array. The value of this property can be any type coercible to a Variant
, as well as object types, with the restriction that the underlying array must resolve to or be coercible to a numeric matrix of type Long
. If the value of NumColumns
is nonzero and any column index is greater than NumColumns
, a bad-index error occurs. An error also results if the number of elements in the ColumnIndex
array does not match the number of elements in the Array
property's underlying array.
Property Array As Variant
Stores the nonzero array values of the sparse array. The value of this property can be any type coercible to a Variant
, as well as object types, with the restriction that the underlying array must resolve to or be coercible to a numeric matrix of type Double
or Boolean
.
Property MWFlags As MWFlags
Stores a reference to an MWFlags
object. This property sets or gets the array formatting and data conversion flags for a particular sparse array. Each MWSparse
object has its own MWFlags
property. This property overrides the value of the any flags set on the object whose method's are called.
Sub Clone(ppSparse As MWSparse)
Creates a copy of an MWSparse
object.
Argument |
Type |
Description |
ppSparse |
MWSparse |
Reference to an uninitialized |
Remarks. Clone
allocates a new MWSparse
object and creates a deep copy of the object's contents. Call this function when a separate object is required instead of a shared copy of an existing object reference.
Example. The following Visual Basic sample creates a 5-by-5 tridiagonal sparse array with the following entries:
X = [ 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 ] Sub foo() Dim x As MWSparse Dim rows(1 To 13) As Long Dim cols(1 To 13) As Long Dim vals(1 To 13) As Double Dim I As Long, K As Long On Error GoTo Handle_Error K = 1 For I = 1 To 4 rows(K) = I cols(K) = I + 1 vals(K) = -1 K = K + 1 rows(K) = I cols(K) = I vals(K) = 2 K = K + 1 rows(K) = I + 1 cols(K) = I vals(K) = -1 K = K + 1 Next rows(K) = 5 cols(K) = 5 vals(K) = 2 Set x = New MWSparse x.NumRows = 5 x.NumColumns = 5 x.RowIndex = rows x.ColumnIndex = cols x.Array = vals . . . Exit Sub Handle_Error: MsgBox (Err.Description) End Sub
![]() | Class MWComplex | Class MWArg | ![]() |