exponenta event banner

Класс MWSparse

MWSparse класс передает или получает двумерный разреженный числовой массив в или из скомпилированного метода класса. Этот класс имеет семь свойств/методов:

Количество строк свойств как длинных

Сохраняет измерение строки для массива. Значение NumRows должно быть неотрицательным. Если значение равно нулю, индекс строки берется из максимального значения в RowIndex массив.

Число столбцов свойств как длинное

Сохраняет размер столбца для массива. Значение NumColumns должно быть неотрицательным. Если значение равно нулю, индекс строки берется из максимального значения в ColumnIndex массив.

Свойство RowIndex как вариант

Сохраняет массив индексов строк ненулевых элементов массива. Значение этого свойства может быть любым типом, принудительно привязанным к Variant, а также типы объектов, с тем ограничением, что базовый массив должен быть разрешен или принудительно преобразован в числовую матрицу типа Long. Если значение NumRows имеет ненулевое значение, а любой индекс строки больше NumRows, возникает ошибка неверного индекса. Ошибка также возникает, если количество элементов в RowIndex массив не соответствует количеству элементов в Array базовый массив свойства.

Свойство ColumnIndex как вариант

Сохраняет массив индексов столбцов ненулевых элементов массива. Значение этого свойства может быть любым типом, принудительно привязанным к Variant, а также типы объектов, с тем ограничением, что базовый массив должен быть разрешен или принудительно преобразован в числовую матрицу типа Long. Если значение NumColumns имеет ненулевое значение, а индекс любого столбца больше NumColumns, возникает ошибка неверного индекса. Ошибка также возникает, если количество элементов в ColumnIndex массив не соответствует количеству элементов в Array базовый массив свойства.

Массив свойств как вариант

Сохраняет ненулевые значения массива разреженного массива. Значение этого свойства может быть любым типом, принудительно привязанным к Variant, а также типы объектов, с тем ограничением, что базовый массив должен быть разрешен или принудительно преобразован в числовую матрицу типа Double или Boolean.

Свойства MWFlags как MWFlags

Сохранение ссылки на MWFlags объект. Это свойство устанавливает или получает флаги форматирования и преобразования данных для определенного разреженного массива. Каждый MWSparse объект имеет свой собственный MWFlags собственность. Это свойство переопределяет значение любых флагов, установленных для объекта, методы которого вызываются.

Субклон (ppSparse As MWSparse

)

Создание копии MWSparse объект.

Параметры

АргументНапечататьОписание

ppSparse

MWSparse

Ссылка на неинициализированный 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