Mtranspose(Data: Array): Array;
Mtranspose(Data: System.Array): System.Array;
Data. Одномерный или двумерный числовой массив.
Метод Mtranspose возвращает транспонированный массив.
Транспонирование - преобразование массива, в результате которого столбцы становятся строками, а строки - столбцами.
Добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
Matr, MInv: 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] := 2; Matr[2, 2] := 13;
Debug.WriteLine("Массив");
// Выводим созданный
массив в консоль
For i := 0 To Matr.GetUpperBound(1) Do
For j := 0 To Matr.GetUpperBound(2) Do
Debug.Write(Matr[i, j].ToString + " ");
End For;
Debug.WriteLine("");
End For;
// Транспонируем массив
MInv := Math.Mtranspose(Matr);
Debug.WriteLine("Транспонированный массив");
// Выводим транспонированный
массив в консоль
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;
End Sub UserProc;
В результате выполнения примера переменная MInv будет содержать транспонированный массив Matr, и оба массива будут выведены в окно консоли.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.MathFin;
…
Public Shared Sub Main(Params: StartParams);
Var
Matr, MInv: System.Array;
M: Prognoz.Platform.Interop.MathFin.Math;
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] := 2; Matr[2, 2] := 13;
System.Diagnostics.Debug.WriteLine("Массив");
// Выводим созданный
массив в консоль
For i := 0 To Matr.GetUpperBound(0) Do
For j := 0 To Matr.GetUpperBound(1) Do
System.Diagnostics.Debug.Write(Matr[i, j] + " ");
End For;
System.Diagnostics.Debug.WriteLine("");
End For;
M := New Prognoz.Platform.Interop.MathFin.Math.Create();
// Транспонируем массив
MInv := M.Mtranspose(Matr);
System.Diagnostics.Debug.WriteLine("Транспонированный
массив");
// Выводим транспонированный
массив в консоль
For i := 0 To MInv.GetUpperBound(0) Do
For j := 0 To MInv.GetUpperBound(1) Do
System.Diagnostics.Debug.Write(MInv[i, j] + " ");
End For;
System.Diagnostics.Debug.WriteLine("");
End For;
End Sub;
См. также: