Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

# Matrix operations in VB

Posted on 2001-08-02
Medium Priority
1,319 Views
I need code to do some matrix opperations (I assume you know what matrixes are. I am talking about in math)

I need code to do the following (MUST be for matrixies of any size)

*find inverses (matrix^-1)
*find determinates
0
Question by:BenBen
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 6
• 3
• 3

LVL 3

Expert Comment

ID: 6347190
hi ben
1 matrix, 2 matrices.

Excel2000 spreadsheet will do matrix math for you.

Is this a homework assignment?

leo
0

LVL 28

Expert Comment

ID: 6347206
Hi

http://www.freevbcode.com/ShowCode.Asp?ID=2944

>>This program performs the following operations on real or complex matrices:

Subtraction
Multiplication
Scalar Multiplication
Scalar Division
Determinant & Inverse
Solution Set<<

http://www.freevbcode.com/ShowCode.Asp?ID=132

>>Matrix operations (addition, subtraction, and multiplication)<<

Cheers
0

LVL 1

Author Comment

ID: 6349244
nope not homework, curocity.
0

LVL 1

Author Comment

ID: 6349256
Ark, Thank you for the code, its gonna take me a little to look over :)
0

LVL 1

Author Comment

ID: 6349590
ARK:

According to the documentation in the code this only works with up to "10x10 matrices" which dosent fit the description "matrices of all sizes" However i still think your answer deservers points. Because I do not want to put a "C" on your answering record, I would like to post a new "Question" with a value of 100 pts, and give you an "A". Is this acceptiable to you?
0

LVL 28

Expert Comment

ID: 6350893
Hi
Just change
Public Const MAXMATRIXSIZE As Integer = 10
to any size you want, ie
Public Const MAXMATRIXSIZE As Integer = 1000

Transpose matrix of any size (matrix^-1):
http://www.vb2themax.com/Item.asp?PageID=CodeBank&Cat=130&ID=295
Multiplication of any size (sample for 1000x1000)
http://www.planet-source-code.com/xq/ASP/txtCodeId.24468/lngWId.1/qx/vb/scripts/ShowCode.htm

Cheers
0

LVL 1

Author Comment

ID: 6350903
are you sure that works, why would they put that in anyways
0

LVL 28

Accepted Solution

Ark earned 600 total points
ID: 6350950
Works fine. The only prb is weired FlexGrid positioning.
Change also
Public Const CELLWIDTH As Integer = 800
and in modMSGridRoutines in PrepareForm Function change this:
If M1.Rows >= 8 Or M1.Cols >= 6 Or M2.Rows >= 8 Or M2.Cols >= 6 Then
G1.Width = MAXCDW * CELLWIDTH + 100
G1.Height = MAXCDH * CELLHEIGHT + 100
G1.ScrollBars = flexScrollBarBoth
G2.Left = G1.Width + 4 * SPACER
L2.Left = G2.Left
L2.Width = G2.Width
L2.Caption = M2.Name
G2.Width = MAXCDW * CELLWIDTH + 100
G2.Height = MAXCDH * CELLHEIGHT + 100
G2.ScrollBars = flexScrollBarBoth
End If

http://www.planet-source-code.com/xq/ASP/txtCodeId.23648/lngWId.1/qx/vb/scripts/ShowCode.htm
0

LVL 3

Expert Comment

ID: 6351080
the man in the street does not often have a pressing need to multiply or otherwise manipulate matrices. is there a real world need related to this question or is it an end in itself?

i am starting to make a study of stock options
(msft mostly) and i may use some matrices as a part of the analysis.... so some of the links given  may be of real use to me.

leo
0

LVL 1

Author Comment

ID: 6351366
supose you have an sysetm of equasions,

x + y + z = 5
5x - 2y -3z = 50
x - 8y -40 = 80

Now, what if you use a matrix to solve this

|1   1   1|  |x|      | 5 |
|5  -2  -3|  |y|  =   |50 |
|x  -8 -40|  |z|      |80 |
^        ^         ^
mA        mB        mC

ok now
(mA)(mB) = mC
(mA)(mA^1)(mB) = (mC)(mA^-1)
(mB)= (mC)(mA^-1)

(this will all look better when its monospaced)
0

LVL 3

Expert Comment

ID: 6351764
typo...1 for tne x at lower left.
0

LVL 1

Author Comment

ID: 6396861
the reason for the b is because it proforms slower then my TI83 with big numbers. Oh well
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture. Â  There is also a companion Debug Toolbar that looks like the followinâ€¦
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we aâ€¦
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). Uâ€¦
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process fromâ€¦
###### Suggested Courses
Course of the Month7 days, 19 hours left to enroll