با سلام
این هم برنامه ای که قولش رو داده بودم
محاسبه ی دترمینان یک ماتریس n*n
با توجه به اینکه محاسبه ی دترمینان رو بصورت تابع نوشتم، محاسبه ی ماتریس معکوس هم کار ساده ای خواهد بود
این تابع بصورت recursive (بازگشتی) نوشته شده
تابع محاسبه دترمینان
Public Function Determinan(EMat() As Double) As Double
Dim i, j As Integer
Dim ClmCount As Integer
Dim EntMat() As Double
Dim Det As Double
EntMat() = EMat()
Dim newMat() As Double
ReDim newMat((UBound(EntMat) - 1), (UBound(EntMat) - 1))
Dim q As Integer
If UBound(EntMat()) > 2 Then
For ClmCount = 1 To UBound(EntMat)
q = 0
For i = 1 To UBound(EntMat)
For j = 1 To UBound(EntMat)
If (i <> 1) And (j <> ClmCount) Then
q = q + 1
newMat(i - 1, q) = EntMat(i, j)
End If
Next j
q = 0
Next i
Det = Det + EntMat(1, ClmCount) * ((-1) ^ (1 + ClmCount)) * Determinan(newMat())
Next ClmCount
ElseIf UBound(EntMat()) = 2 Then
Det = (EntMat(1, 1) * EntMat(2, 2)) - (EntMat(1, 2) * EntMat(2, 1))
End If
Determinan = Det
End Function
برنامه
Determinan.rar
موفق باشید