找回密码
 立即注册
搜索
热搜: rtk 全站仪 航测
查看: 527|回复: 3

[求助]wenjian_Gao,那矩阵求逆函数怎么调用,"C()"是干什么的

[复制链接]

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2004-5-17 02:29:30 | 显示全部楼层 |阅读模式
很幸运上了这个网站,可是“function Rect_yu(A() As Double, L As Long, C() As Double) As Double  "中三个参数,该怎么调用呢,那个”C()"好象是逆矩阵的结果 ,哪个老师举个应用的例子吧,
再看看这程序有没有错误。我急用着呢,等扶!!!!!


Option Explicit

Function Rect(A() As Double, L As Long) As Double '行列式计算L*L
    Dim T0 As Double
    Dim T1 As Double
    Dim T2 As Double
    Dim T3 As Double
    Dim Rect6_T As Double
    Dim B() As Double
    Dim Num As Double
    Dim Cha As Long
    Cha = 0
    ReDim B(L - 1, L - 1)
    Num = 0
   
    Dim i, j As Integer
    For i = 0 To 2
       For j = 0 To 2
          Debug.Print A(i, j)
       Next
    Next
   
    If L = 1 Then
        Rect = A(0, 0) * A(1, 1) - A(0, 1) * A(1, 0)
        Exit Function
    End If
    For T0 = 0 To L
        For T1 = 1 To L
            For T2 = 0 To L - 1
                If T2 = T0 Then Cha = 1
                 
                B(T1 - 1, T2) = A(T1, T2 + Cha)
            Next T2
            Cha = 0
        Next T1
        Num = Num + A(0, T0) * Rect(B(), L - 1) * (-1) ^ T0
    Next T0
    Rect = Num
End Function


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
         &#39;Rect(B(), L - 1) &#39;调用求行列式值
        C(T3, T0) = Rect(B(), L - 1) * add * ((-1) ^ (T0 + T3))
    Next T3
    Next T0
End Function
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|测量空间论坛 ( 闽ICP备19019609号-1 )

GMT+8, 2026-7-5 00:04 , Processed in 0.064480 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表