该类与经过编译的类方法之间相互传递一个二维稀疏数值型数组。本类有7个属性和方法。
NumRows属性。该属性保存数组的行维,NumRows的值必须非负;如果值为0,则行的编号取自RowIndex数组中的最大值。
NumColumns属性。该属性保存数组的列维。
RowIndex属性。该属性保存数组中非零元素的行编号数组。
ColumnIndex属性。该属性保存数组中非零元素的列编号数组。
Array属性。该属性保存稀疏数组中的非零值。
MWFlags属性。该属性保存对象的一个引用。
Clone方法。该方法创建对象的一个拷贝。
下面的VBA代码创建一个的对角稀疏矩阵。
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 ]
code.excel vba
Sub foo()
Dim x As MWSparse
Dim text-blue-400">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
text-blue-400">rows(K)=I
cols(K)=I + 1
vals(K)=-1
K=K + 1
text-blue-400">rows(K)=I
cols(K)=I
vals(K)=2
K=K + 1
text-blue-400">rows(K)=I + 1
cols(K)=I
vals(K)=-1
K=K + 1
Next
text-blue-400">rows(K)=5
cols(K)=5
vals(K)=2
Set x=New MWSparse
x.NumRows=5
x.NumColumns=5
x.RowIndex=text-blue-400">rows
x.ColumnIndex=cols
x.text-blue-400">Array=vals
.
.
.
Exit Sub
Handle_Error:
text-blue-400">MsgBox (Err.Description)
End Sub