IMath.MInverse

Синтаксис Fore

MInverse(Data: Array): Array;

Синтаксис Fore.NET

MInverse(Data: System.Array): System.Array;

Параметры

Data. Массив вещественных чисел.

Описание

Метод MInverse возвращает обратную матрицу для заданного массива.

Комментарии

Матрица должна быть квадратной.

Если входной массив содержит пропуски, функция вернет ошибку.

Пример Fore

Для выполнения примера добавьте ссылку на системную сборку MathFin.

Sub UserProc;
Var
    MInv, matr: Array 
Of Double;
    i, j: Integer;
Begin
    matr := 
New Double[33];
    matr[
00] := 1; matr[01] := 9; matr[02] := 9;
    matr[
10] := 2; matr[11] := 15; matr[12] := 0;
    matr[
20] := 8; matr[21] := 1; matr[22] := 13;
    MInv := Math.MInverse(matr);
    
If math.Status = 0 Then
        
For i := 0 To MInv.GetUpperBound(1Do
            
For j := 0 To MInv.GetUpperBound(2Do
                Debug.Write(MInv[i, j].ToString + 
" ");
            
End For;
            Debug.WriteLine(
"");
        
End For;
        
Else
        Debug.WriteLine(
"Ошибка " + Math.Status.ToString + ": " + Math.ErrorMsg);   
    
End If;
End Sub UserProc;

В результате выполнения примера в окно консоли будет выведена обратная матрица.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.MathFin;

Public Shared Sub Main(Params: StartParams);
Var
    MInv, matr: System.Array;
    i, j: Integer;
    Math: MathClass = New MathClass();
Begin
    matr := New Double[33];
    matr[00] := 1; matr[01] := 9; matr[02] := 9;
    matr[10] := 2; matr[11] := 15; matr[12] := 0;
    matr[20] := 8; matr[21] := 1; matr[22] := 13;
    MInv := Math.MInverse(matr);
    If Math.Status = 0 Then
        For i := 0 To MInv.GetUpperBound(0Do
            For j := 0 To MInv.GetUpperBound(1Do
                System.Diagnostics.Debug.Write(MInv[i, j].ToString() + " ");
            End For;
            System.Diagnostics.Debug.WriteLine("");
        End For;
        Else
        System.Diagnostics.Debug.WriteLine("Ошибка " + Math.Status.ToString() + ": " + Math.ErrorMsg);
    End If;
End Sub;

См. также:

IMath