VB有现成的矩阵类吗?比如能实现矩阵的求逆、转置、矩阵乘、求矩阵特征值等等运算.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 00:30:49

VB有现成的矩阵类吗?比如能实现矩阵的求逆、转置、矩阵乘、求矩阵特征值等等运算.
VB有现成的矩阵类吗?比如能实现矩阵的求逆、转置、矩阵乘、求矩阵特征值等等运算.

VB有现成的矩阵类吗?比如能实现矩阵的求逆、转置、矩阵乘、求矩阵特征值等等运算.
我以前自己编过一些,求逆用的LU分解,转置比较简单,其他的还作了矩阵右除用的QR分解
代码比较丢人- - 那时候VB还是初学
下面放到模块里
Public Sub Matrix_LU(ByRef X() As Double,ByVal m As Integer,ByVal n As Integer,ByRef A() As Double,ByRef P() As Double)
Dim pp,Maxval,lutemp,ptemp
For i = 1 To m
For j = 1 To n
A(i,j) = X(i,j)
Next
Next
For i = 1 To m
P(i) = i
Next
For k = 1 To min(m - 1,n)
pp = k
Maxval = Abs(A(k,k))
For i = k + 1 To m
If Abs(A(i,k)) > Maxval Then
Maxval = Abs(A(i,k))
pp = i
End If
Next
If pp k Then
For C = 1 To n
lutemp = A(pp,C)
A(pp,C) = A(k,C)
A(k,C) = lutemp
Next
ptemp = P(k)
P(k) = P(pp)
P(pp) = ptemp
End If
If A(k,k) 0 Then
For i = k + 1 To m
A(i,k) = A(i,k) / A(k,k)
Next
For j = k + 1 To n
For i = k + 1 To m
A(i,j) = A(i,j) - A(i,k) * A(k,j)
Next
Next
End If
Next
End Sub
Public Sub Matrix_Inv(ByRef X() As Double,ByVal m As Integer,ByVal n As Integer,ByRef Y() As Double)
Dim Matrix_InvTemp(100,100) As Double
Dim Matrix_InvP(100) As Double
Matrix_LU X,m,n,Matrix_InvTemp,Matrix_InvP
For k = 1 To n
C = Matrix_InvP(k)
Y(k,C) = 1
For j = k To n
If Y(j,C) 0 Then
For i = j + 1 To n
Y(i,C) = Y(i,C) - Y(j,C) * Matrix_InvTemp(i,j)
Next
End If
Next
For j = n To 1 Step -1
Y(j,C) = Y(j,C) / Matrix_InvTemp(j,j)
If Y(j,C) 0 Then
For i = 1 To j - 1
Y(i,C) = Y(i,C) - Y(j,C) * Matrix_InvTemp(i,j)
Next
End If
Next
Next
End Sub
Public Sub Turn(ByRef A() As Double,ByVal m As Integer,ByVal n As Integer,ByRef B() As Double)
For i = 1 To n
For j = 1 To m
B(i,j) = A(j,i)
Next
Next
End Sub
Public Function Det(ByRef A() As Double,ByVal m As Integer) As Double
Det = 1
Dim DetTemp(100,100) As Double
Dim DetPTemp(100) As Double
Matrix_LU A,m,m,DetTemp,DetPTemp
For i = 1 To m
Det = Det * DetTemp(i,i)
Next
End Function
Public Sub MxM(ByRef A() As Double,ByRef B() As Double,ByVal m As Integer,ByVal mn As Integer,ByVal n As Integer,ByRef C() As Double)
Zeros C,m,n
For i = 1 To m
For j = 1 To n
For k = 1 To mn
C(i,j) = C(i,j) + A(i,k) * B(k,j)
Next
Next
Next
End Sub
Public Sub Zeros(ByRef z() As Double,ByVal X As Integer,ByVal Y As Integer)
' Zeros
' z():input array
' x,y:array subscript
Dim i,j
If Y = 0 Then
For i = 0 To X
z(i) = 0
Next
Else
For i = 0 To X
For j = 0 To Y
z(i,j) = 0
Next
Next
End If
End Sub
QR分解代码太长就不贴了反正上述功能也用不上
那时候不知道有Redim和UBound这回事,所以…………
用法:例如对A(m,n)进行计算,结果存在B(m,n)里
求逆:Matrix_Inv A,m,n,B
转置:Turn A,m,n,B
乘法:例如A(m,n) * B(n,k) 结果存在C(m,k)里
MxM A,B,m,n,k,C
求行列式值:Det(A,n)

VB有现成的矩阵类吗?比如能实现矩阵的求逆、转置、矩阵乘、求矩阵特征值等等运算. C#有现成的矩阵类吗?比如能实现矩阵的求逆、转置、矩阵乘、求矩阵特征值等等运算. VB:随机生成两个n×n矩阵,先写程序实现这两个矩阵的相加 java中有没有关于矩阵运算的函数比如矩阵的相乘,求矩阵的逆矩阵. 稀疏矩阵用模版实现的算法,比如输入矩阵,输出三元组怎么实现? VB求矩阵的特征值哪位高手能编一个VB求任意矩阵的特征值的代码,什么解法的都可以,急用,感激不尽! 怎样用matlab去定义四元数矩阵?有现成的函数吗? 求VB解答.编写程序,实现矩阵转置,即将一个nⅹm的矩阵的行和列互换.编写程序,实现矩阵转置,即将一个nⅹm的矩阵的行和列互换.例如:A矩阵及其转置矩阵B分别为:A=[1 2 34 5 6]B= [1 42 35 6 ]现要 相似矩阵有唯一性吗比如矩阵B是矩阵A的相似矩阵,矩阵C也是矩阵A的相似矩阵,那么B和C的关系呢?是相同还是相似?还是没有关系?例题: 求矩阵的合同矩阵 求算法,在VB中如何实现矩阵A(3,3)与矩阵B(3,3)相乘?即就是A、B均为四行四列的矩阵.如何求出其乘积C(3,3)? 利用二维数组实现矩阵的加法运算 不好意思,用VB语言做下 已知矩阵A和A的某个特征值R,现要求对应特征值R的特征向量,用matlaB怎么求?有现成的函数吗? 能被单位矩阵线性表出的矩阵是什么矩阵?是单位矩阵吗? matlab提取已知矩阵元素组成新矩阵我有一个704*1280的矩阵,想分别从中取出32个32*64的小矩阵并且对这个小矩阵求秩,如何实现, 代数余子式 C# 伴随矩阵我想用C#编写一个矩阵类,其中的一个函数是求矩阵的伴随矩阵,我是想利用代数余子式来求伴随矩阵,可是如何利用程序来实现呢?请高手帮忙! 求通过C语言实现矩阵的加、减及乘法.要自己写的,不要复制过来最好有基本的注解.调试成功后追加50分具体要求:1、矩阵以数组的形式输入,结果以矩阵的形式输出.比如:输入一个2*3的矩阵, 在matlab中怎样求一个矩阵中不同元素个数?谢如果矩阵A=[1 2 3 5 2 3 5 3 2],那么其中不同元素的总个数为4个,这些元素为1、2、3、5,用函数怎样实现呢?不用循环行吗?有没有现成的函数呢?