Referencing multidimensional array

J

Jay Petrulis

Hi,

I have a variable number of 3x3 matrices in a 3-D array. I have
dimensioned as follows:

ReDim MatrixA_3x3(1 To lngLastRow - 2, 1 To 3, 1 To 3)

The entire array is populated correctly, as the elements are as I
expect -- MatrixA_3x3(i, j, k) is accurate.

How can I reference the individual 3x3 matrices so that I can calculate
the determinant of each one? I have the following:

arrA_Determ(i) = Excel.Application.MDeterm(MatrixA_3x3(i))

The code is bombing with a "subscript out of range error." on the
MatrixA_3x3(i) part.

Is it possible to reference the entire array based on the first
dimension, or do I need to junk this approach? (Not a problem to do
so, if necessary)

The obvious choice would be to use a 2-D array, but I would like to see
the underlying matrices.

Thanks,
Jay Petrulis
 
T

Tom Ogilvy

You approach won't work. You could do an array of arrays

Dim MasArray() as Variant
Redim MasArray(1 to lngLastRow-1)

then for example

MasArray(2) = Range("A1:C3").Value

now MasArray(2) holds a 3 x 3 array.

then you could do

arrA_Determ(2) = Excel.Application.MDeterm(MasArray(2))

(replace the 2 with i)
 
J

Jay Petrulis

Thanks Tom.

I kinda figured as such. I will make two arrays -- one to generate the
matrices and one as a pointer so that I can calc the determinant.

Appreciate the help.

Regards,
Jay Petrulis
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top