Реклама:

Приведем несколько примеров. Будем использовать следующий комплексный массив A:

double[][] Rdata = {{ 2, 3, 4},

{ 8 , 9, 10},

{14, 15, 16}}; double[][] Idata = {{ 6, 5, 14},

{ 7 , 1, 23},

{ 1, 1, 9}};

MWNumericArray A = new MWNumericArray(Rdata, Idata, MWClassID.DOUBLE); System.out.println("Complex matrix A = "); System.out.println(A.toString());

Полученный комплексный массив:

2.0000 + 6.0000i 3.0000 + 5.0000i 4.0000 + 14.0000i 8.0000 + 7.0000i 9.0000 + 1.0000i 10.0000 + 23.0000i 14.0000 + 1.0000i 15.0000 + 1.0000i 16.0000 + 9.0000i

Пример. Используем get и getlmag для чтения вещественной и мнимой частей элемента с индеками (2, 3): int[] index = {2, 3};

System.out.println("The real part of A(2,3) = " +

A.get(index)); System.out.println("The imaginary part of A(2,3) = " +

A.getImag(index) );

После выполнения пример отображает следующее:

The real part of A(2,3) = 10.0

The imaginary part of A(2,3) = 23.0

Пример. Получение комплексных данных определенного типа (double) элемента массива A. int[] index = {2, 3};

System.out.println("The real part of A(2,3) = " +

A.getDouble(index)); System.out.println("The imaginary part of A(2,3) = " +

A.getImagDouble(index) );

После выполнения примера получается следующий вывод

The real part of A(2,3) = 10.0

The imaginary part of A(2,3) = 23.0

Метод getImagData. Этот метод возвращает одномерный MWNumericArray содержащий копию мнимых частей данных в основном массиве MATLAB. Метод getImagData возвращает одномерный массив в постолбцовом порядке. Элементы преобразуются согласно правилам преобразования значений по умолчанию.

Пример. Получение всех вещественных и мнимых частей данных из комплексного массива A.

int[] index = {2, 3}; double[] x;

System.out.println("The real data in matrix A is:");

x = (double[]) A.getData(); for (int i = 0; i < x.length;

System.out.print(" " + x[i]);

System.out.println(); System.out.println("The imaginary data in matrix A is:"); x = (double[]) A.getImagData(); for (int i = 0; i < x.length;

System.out.print(" " + x[i]);

После выполнения примера получается следующий вывод

The real data in matrix A is:

2.0 8.0 14.0 3.0 9.0 15.0 4.0 10.0 16.0 The imaginary data in matrix A is:

6.0 7.0 1.0 5.0 1.0 1.0 14.0 23.0 9.0

Метод toImagArray. Этот метод возвращает массив, содержащий копию мнимых частей данных массива MATLAB.

Пример. Получение массива мнимых частей комплексных данных используя toImagArray.

double[][] x = (double[][]) A.toImagArray();

int[] dimA = A.getDimensions();

System.out.println("The imaginary part of matrix A is:");

for (int i = 0; i < dimA[0]; i++)

{

for (int j = 0; j < dimA[1]; j++)

System.out.print(" " + x[i][j]); System.out.println();

}

После выполнения пример отображает следующее:

The imaginary part of matrix A is: 6.0 5.0 14.0 7.0 1.0 23.0 1.0 1.0 9.0

Методы копирования, преобразования и сравнения массивов MWNumericArray


⇐ Предыдущая страница| |Следующая страница ⇒