BBS: Inland Empire Archive Date: 05-02-92 (19:01) Number: 136 From: PAUL LEONARD Refer#: NONE To: RICHARD VANNOY Recvd: NO Subj: Matrix Conf: (2) Quik_Bas
On or about <May 01 19:40>, Richard Vannoy (1:105/314) scribbled: RV> MatrixA MatrixB MatrixC RV> 4 5 6 3 2 6 5 4 3 0 E M P T Y RV> 3 2 3 4 5 5 4 3 3 3 RV> 2 1 0 6 9 5 2 1 0 4 RV> so, something like... RV> MAT(C) = MAT(A) * MAT(B) (nit-picking mode on) My linear algebra's a bit rusty, but i don't think you can multiply the matrices in your example. If A is rA x cA (rA rows by cA columns), and B is rB x cB, then cA must equal rB in order to multiply the two matrices. This is because the elements of C are formed by multiplying the rows of A by the columns of B, with C being rA x cB (i learned this by thinking of the two equal dimensions needing to "canceling out"). This is why, in general, AB <> BA. AB is rA x cB and BA is rB x cA. (nit-picking mode off) (For Randy Baer) I was once put through the matrix multiplication wringer by a sadistic Fortran professor - he reacted rather badly to a negative student evaluation of his class and vengefully assigned a nasty stew of matrix manipulation (without MAT functions), statistical analysis and formatting. Anyway, the bare bones of the matrix multiplication are... DIM mat.a%(rA%,cA%) DIM mat.b%(rB%,cB%) DIM mat.c%(rA%,cB%) FOR i%=1 TO rA% FOR j%=1 TO cB% FOR k%=1 TO cA% '(or rB%) mat.c%(i%,j%) = mat.c%(i%,j%) + (mat.a%(i%,k%) * mat.b%(k%,j%)) NEXT k% NEXT j% NEXT i% I also found a few more Basic-Plus2 MAT functions while digging through the on-line help trying to confirm the above. They are... DET - Returns determinant of a matrix NUM - Returns number of rows entered into a matrix with MAT INPUT NUM2 - Returns number of elements in last row entered TRN - Creates the transpose of a matrix ptl --- msged 2.07 * Origin: PTL Pointwork (1:105/48.111)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET