TransposeMatrix – Rotate a bi-dimensional array

' evaluate the transposed matrix'' a transposed matrix is the array you get when' you "rotate" a bi-dimensional arrayFunction TransposeMatrix(arr() As Double) As Double()    Dim startRow As Long, startCol As Long    Dim endRow As Long, endCol As Long    Dim r As Long, c As Long    Dim tmp As Double        ' get size of original matrix    startRow = LBound(arr)    endRow = UBound(arr)    startCol = LBound(arr, 2)    endCol = UBound(arr, 2)    ' prepare the result matrix    ReDim res(startCol To endCol, startRow To endRow) As Double        ' transpose the matrix    For r = startRow To endRow        For c = startCol To endCol            res(c, r) = arr(r, c)        Next    Next        ' return the transposed result    TransposeMatrix = resEnd Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: