成都网站建设设计

将想法与焦点和您一起共享

vb.net矩阵求逆 用c语言求逆矩阵

逆矩阵怎么求?

逆矩阵的求法:

矿区网站建设公司创新互联公司,矿区网站设计制作,有大型网站制作公司丰富经验。已为矿区上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的矿区做网站的公司定做!

1、利用定义求逆矩阵

设A、B都是n阶方阵, 如果存在n阶方阵B 使得AB=BA=E, 则称A为可逆矩阵, 而称B为A的逆矩阵。

2、运用初等行变换法

将一n阶可逆矩阵A和n阶单位矩阵I写成一个nX2n的矩阵B=(A,I])对B施行初等行变换,即对A与I进行完全相同的若干初等行变换,目标是把A化为单位矩阵。当A化为单位矩阵I的同时,B的右一半矩阵同时化为了A的逆矩阵。

3、增广矩阵法

如果要求逆的矩阵是A,则对增广矩阵(A E)进行初等行变换,E是单位矩阵,将A化到E,此时此矩阵的逆就是原来E的位置上的那个矩阵,原理是 A逆乘以(A E)= (E A逆)初等行变换就是在矩阵的左边乘以A的逆矩阵得到的。

4、待定系数法

待定系数法顾名思义就是对未知数进行求解。用一个新的包含未定因子的多项式来表达多项式,从而获得一个恒等式。接着,利用恒等式的特性,推导出一类系数必须满足的方程或方程,再由方程组或方程组得到待确定的系数,或确定各系数之间的对应关系,称为待定系数法。

怎样用VB编程矩阵求逆

矩阵求逆的VB程序

Private Function MRinv(N As Integer, mtxA() As Double) As Boolean

'****************************************************************************************

' 功能: 实现矩阵求逆的全选主元高斯-约当法

' 参数: n - Integer型变量,矩阵的阶数

' mtxA - Double型二维数组,体积为n x n。存放原矩阵A;返回时存放其逆矩阵A-1。

' 返回值:Boolean型,失败为False,成功为True

'****************************************************************************************

ReDim nIs(N) As Integer, nJs(N) As Integer

Dim i As Integer, j As Integer, k As Integer

Dim D As Double, p As Double

' 全选主元,消元

For k = 1 To N

D = 0#

For i = k To N

For j = k To N

p = Abs(mtxA(i, j))

If (p D) Then

D = p

nIs(k) = i

nJs(k) = j

End If

Next j

Next i

' 求解失败

If (D + 1# = 1#) Then

MRinv = False

Exit Function

End If

If (nIs(k) k) Then

For j = 1 To N

p = mtxA(k, j)

mtxA(k, j) = mtxA(nIs(k), j)

mtxA(nIs(k), j) = p

Next j

End If

If (nJs(k) k) Then

For i = 1 To N

p = mtxA(i, k)

mtxA(i, k) = mtxA(i, nJs(k))

mtxA(i, nJs(k)) = p

Next i

End If

mtxA(k, k) = 1# / mtxA(k, k)

For j = 1 To N

If (j k) Then mtxA(k, j) = mtxA(k, j) * mtxA(k, k)

Next j

For i = 1 To N

If (i k) Then

For j = 1 To N

If (j k) Then mtxA(i, j) = mtxA(i, j) - mtxA(i, k) * mtxA(k, j)

Next j

End If

Next i

For i = 1 To N

If (i k) Then mtxA(i, k) = -mtxA(i, k) * mtxA(k, k)

Next i

Next k

' 调整恢复行列次序

For k = N To 1 Step -1

If (nJs(k) k) Then

For j = 1 To N

p = mtxA(k, j)

mtxA(k, j) = mtxA(nJs(k), j)

mtxA(nJs(k), j) = p

Next j

End If

If (nIs(k) k) Then

For i = 1 To N

p = mtxA(i, k)

mtxA(i, k) = mtxA(i, nIs(k))

mtxA(i, nIs(k)) = p

Next i

End If

Next k

' 求解成功

MRinv = True

End Function

来源:

帮忙解释一下这个vb求逆矩阵语句

1采用二维数组存放矩阵各元素值

2根据数矩阵运算规则进行相应计算

求逆矩阵的简便方法

求逆矩阵的简便方法如下:

1、待定系数法。

2、伴随矩阵求逆矩阵。

3、初等变换求逆矩阵。

待定系数法,一种求未知数的方法。将一个多项式表示成另一种含有待定系数的新的形式,这样就得到一个恒等式。然后根据恒等式的性质得出系数应满足的方程或方程组,其后通过解方程或方程组便可求出待定的系数,或找出某些系数所满足的关系式。

伴随矩阵是矩阵元素所对应的代数余子式,所构成的矩阵,转置后得到的新矩阵。我们先求出伴随矩阵A*=-3,-2,1 , 1。接下来,求出矩阵A的行列式|A|=1*(-3) - (-1)* 2=-3+2=-1。从而逆矩阵A⁻¹=A*/|A| =A*/(-1)=-A*=3, 2,-1,-1。

初等变换求逆矩阵首先,写出增广矩阵A|E,即矩阵A右侧放置一个同阶的单位矩阵,得到一个新矩阵。

1,2,1,0,-1,-3,0,1。然后进行初等行变换。依次进行第1行加到第2行,得到1,2,1,0,0,-1,1,1。第2行×2加到第1行,得到1,0,3,2,0,-1,1,1。第2行×(-1),得到1,0,3,2,0,1,-1,-1。

急求:用vb编写的矩阵求逆的算法,谢谢!

Function Rect_yu(A() As Double, L As Long, C() As Double) As Double 矩阵求逆 Dim T0 As Double Dim T1 As Double Dim T2 As Double Dim T3 As Double Dim B() As Double Dim Num As Double Dim Chay As Long Dim Chax As Long Chay = 0 Chax = 0 ReDim B(L - 1, L - 1) Num = 0 Dim add As Double add = 1 / Rect(A(), L) For T0 = 0 To L For T3 = 0 To L For T1 = 0 To L - 1 If T1 T0 Then Chax = 0 Else Chax = 1 End If For T2 = 0 To L - 1 If T2 T3 Then Chay = 0 Else Chay = 1 End If B(T1, T2) = A(T1 + Chax, T2 + Chay) Next T2 Next T1 Rect(B(), L - 1) 调用求行列式值 C(T3, T0) = Rect(B(), L - 1) * add * ((-1) ^ (T0 + T3)) Next T3 Next T0End Function


文章标题:vb.net矩阵求逆 用c语言求逆矩阵
本文URL:http://chengdu.cdxwcx.cn/article/hjpgso.html