Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Intermediate
Oct 13, 2003

TransposeMatrix - Evaluate the transposed matrix

' Evaluate the transposed matrix
' A transposed matrix is the array you get when you "rotate" a bi-dimensional 
' array
'
' Example
'   Dim arr(,) As Double = {{0.0, 0.1, 0.2}, {1.0, 1.1, 1.2}}
'   Dim i, j As Integer

'   ' print the original matrix
'   Debug.WriteLine("Original matrix")
'   For i = 0 To arr.GetUpperBound(0)
'       For j = 0 To arr.GetUpperBound(1)
'           Debug.Write(arr(i, j) & " - ")
'       Next
'       Debug.WriteLine("")
'   Next

'   ' transpose the matrix and print it
'   Dim arr2(,) As Double = TransposeMatrix(arr)
'   Debug.WriteLine("Transposed matrix")
'   For i = 0 To arr2.GetUpperBound(0)
'       For j = 0 To arr2.GetUpperBound(1)
'           Debug.Write(arr2(i, j) & " - ")
'       Next
'       Debug.WriteLine("")
'   Next

Function TransposeMatrix(ByVal arr(,) As Double) As Double(,)
    Dim startRow As Integer, startCol As Integer
    Dim endRow As Integer, endCol As Integer
    Dim row As Integer, col As Integer

    ' get size of original matrix
    startRow = arr.GetLowerBound(0)
    endRow = arr.GetUpperBound(0)
    startCol = arr.GetLowerBound(1)
    endCol = arr.GetUpperBound(1)

    ' prepare the result matrix
    Dim res(endCol, endRow) As Double

    ' transpose the matrix
    For row = startRow To endRow
        For col = startCol To endCol
            res(col, row) = arr.GetValue(row, col)
        Next
    Next

    ' return the transposed result
    Return res
End Function
Marco Bellinaso
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap