Класс MWSparse
передает или получает двумерный разреженный числовой массив в или из метода скомпилированного класса. Этот класс имеет семь свойств/методов:
Хранит размерность строки для массива. Значение NumRows
должно быть неотрицательным. Если значение является нулем, индекс строки взят из максимума значений в массиве RowIndex
.
Хранит размерность столбца для массива. Значение NumColumns
должно быть неотрицательным. Если значение является нулем, индекс строки взят из максимума значений в массиве ColumnIndex
.
Хранит массив индексов строки ненулевых элементов массива. Значение этого свойства может быть любым типом, принудительным к Variant
, а также типам объектов, с ограничением, что основной массив должен разрешить или быть принудительным к числовой матрице типа Long
. Если значение NumRows
является ненулевым, и любой индекс строки больше, чем NumRows
, ошибка плохого индекса происходит. Ошибка также заканчивается, если число элементов в массиве RowIndex
не совпадает с числом элементов в основном массиве свойства Array
.
Хранит массив индексов столбца ненулевых элементов массива. Значение этого свойства может быть любым типом, принудительным к Variant
, а также типам объектов, с ограничением, что основной массив должен разрешить или быть принудительным к числовой матрице типа Long
. Если значение NumColumns
является ненулевым, и любой индекс столбца больше, чем NumColumns
, ошибка плохого индекса происходит. Ошибка также заканчивается, если число элементов в массиве ColumnIndex
не совпадает с числом элементов в основном массиве свойства Array
.
Хранит ненулевые значения массивов разреженного массива. Значение этого свойства может быть любым типом, принудительным к Variant
, а также типам объектов, с ограничением, что основной массив должен разрешить или быть принудительным к числовой матрице типа Double
или Boolean
.
Хранит ссылку на объект MWFlags
. Это наборы свойств или получает форматирование массивов и флаги преобразования данных для конкретного разреженного массива. Каждый объект MWSparse
имеет свое собственное свойство MWFlags
. Это свойство заменяет значение любого набора флагов на объекте, методы которого называются.
Создает копию объекта MWSparse
.
Аргумент | Ввод | Описание |
---|---|---|
|
|
Ссылка на неинициализированный объект |
'none'.
Clone
выделяет новый объект MWSparse
и создает глубокую копию содержимого объекта. Вызовите эту функцию, когда отдельный объект будет требоваться вместо разделяемой копии существующей ссылки на объект.
Следующая Визуальная выборка Basic® создает трехдиагональный разреженный массив 5 на 5 со следующими записями:
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