MWSparse类

该类与经过编译的类方法之间相互传递一个二维稀疏数值型数组。本类有7个属性和方法。

NumRows属性。该属性保存数组的行维,NumRows的值必须非负;如果值为0,则行的编号取自RowIndex数组中的最大值。

NumColumns属性。该属性保存数组的列维。

RowIndex属性。该属性保存数组中非零元素的行编号数组。

ColumnIndex属性。该属性保存数组中非零元素的列编号数组。

Array属性。该属性保存稀疏数组中的非零值。

MWFlags属性。该属性保存对象的一个引用。

Clone方法。该方法创建对象的一个拷贝。

下面的VBA代码创建一个的对角稀疏矩阵。

下面的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