MInverse(Data: Array): Array;
MInverse(Data: System.Array): System.Array;
Data. Массив вещественных чисел.
Метод MInverse возвращает обратную матрицу для заданного массива.
Матрица должна быть квадратной.
Если входной массив содержит пропуски, функция вернет ошибку.
Для выполнения примера добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
MInv, matr: Array Of Double;
i, j: Integer;
Begin
matr := New Double[3, 3];
matr[0, 0] := 1; matr[0, 1] := 9; matr[0, 2] := 9;
matr[1, 0] := 2; matr[1, 1] := 15; matr[1, 2] := 0;
matr[2, 0] := 8; matr[2, 1] := 1; matr[2, 2] := 13;
MInv := Math.MInverse(matr);
If math.Status = 0 Then
For i := 0 To MInv.GetUpperBound(1) Do
For j := 0 To MInv.GetUpperBound(2) Do
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.
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[3, 3];
matr[0, 0] := 1; matr[0, 1] := 9; matr[0, 2] := 9;
matr[1, 0] := 2; matr[1, 1] := 15; matr[1, 2] := 0;
matr[2, 0] := 8; matr[2, 1] := 1; matr[2, 2] := 13;
MInv := Math.MInverse(matr);
If Math.Status = 0 Then
For i := 0 To MInv.GetUpperBound(0) Do
For j := 0 To MInv.GetUpperBound(1) Do
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;
См. также: