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