Solved

Matrix operations in VB

Posted on 2001-08-02
12
1,240 Views
Last Modified: 2007-12-19
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)

*Add, subtract, multiply
*find inverses (matrix^-1)
*find determinates
0
Comment
Question by:BenBen
  • 6
  • 3
  • 3
12 Comments
 
LVL 3

Expert Comment

by:leojl
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

by:Ark
ID: 6347206
Hi

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

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

Addition
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

by:BenBen
ID: 6349244
nope not homework, curocity.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

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

Author Comment

by:BenBen
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

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

Some more links:
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

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

Accepted Solution

by:
Ark earned 200 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
'********** added *********************        
        G2.Left = G1.Width + 4 * SPACER
        L2.Left = G2.Left
        L2.Width = G2.Width
        L2.Caption = M2.Name
'********** added *********************        
        G2.Width = MAXCDW * CELLWIDTH + 100
        G2.Height = MAXCDH * CELLHEIGHT + 100
        G2.ScrollBars = flexScrollBarBoth
    End If

BTW, one more link

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

Expert Comment

by:leojl
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

by:BenBen
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

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

Author Comment

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

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question