ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Referencing multidimensional array (https://www.excelbanter.com/excel-programming/330264-referencing-multidimensional-array.html)

Jay Petrulis[_2_]

Referencing multidimensional array
 
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


Tom Ogilvy

Referencing multidimensional array
 
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)

--
Regards,
Tom Ogilvy


"Jay Petrulis" wrote in message
ups.com...
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




Jay Petrulis[_2_]

Referencing multidimensional array
 
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



All times are GMT +1. The time now is 01:42 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com