Класс 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