exponenta event banner

Присвоение значений массиву Java

Для назначения значений объектам в массиве объектов Java ® используется синтаксис команды MATLAB ®. Например, следующий оператор присваивает значение массиву JavaA типа java.lang.Double.

A(row,column) = java.lang.Double(value)

В программе Java значение присваивается A[row-1][column-1]. Дополнительные сведения о различиях между массивами Java и MATLAB см. в разделе Как MATLAB представляет массивы Java.

Чтобы запустить примеры из этого раздела, создайте массив 4 на 5 dblArray. Значения, отображаемые для dblArray зависит от порядка выполнения примеров.

dblArray = javaArray('java.lang.Double',4,5);
for m = 1:4
    for n = 1:5
        dblArray(m,n) = java.lang.Double((m*10)+n);
    end
end
dblArray
dblArray =

  java.lang.Double[][]:

    [11]    [12]    [13]    [14]    [15]
    [21]    [22]    [23]    [24]    [25]
    [31]    [32]    [33]    [34]    [35]
    [41]    [42]    [43]    [44]    [45]

Назначение индексирования одного подстрочного индекса

Индексирование одного подстрочного индекса можно использовать для назначения значений массиву. Например, создайте массив Java 5 на 1 и назначьте его строке dblArray.

onedimArray = javaArray('java.lang.Double',5);
for k = 1:5
    onedimArray(k) = java.lang.Double(100*k);
end

Заменить строку 3 значениями onedimArray.

dblArray(3) = onedimArray
dblArray =

  java.lang.Double[][]:

    [ 11]    [ 12]    [ 13]    [ 14]    [ 15]
    [ 21]    [ 22]    [ 23]    [ 24]    [ 25]
    [100]    [200]    [300]    [400]    [500]
    [ 41]    [ 42]    [ 43]    [ 44]    [ 45]

Назначение линейного массива

Чтобы назначить значение каждому элементу многомерного массива Java, используйте оператор двоеточия MATLAB (:). Например, инициализировать содержимое dblArray до нуля.

dblArray(:) = java.lang.Double(0)
dblArray =

  java.lang.Double[][]:

    [0]    [0]    [0]    [0]    [0]
    [0]    [0]    [0]    [0]    [0]
    [0]    [0]    [0]    [0]    [0]
    [0]    [0]    [0]    [0]    [0]

При работе с массивами MATLAB используйте оператор двоеточия. Например, назначьте одно значение каждой строке в dblArray.

dblArray(1,:) = java.lang.Double(125);
dblArray(2,:) = java.lang.Double(250);
dblArray(3,:) = java.lang.Double(375);
dblArray(4,:) = java.lang.Double(500)
dblArray =

  java.lang.Double[][]:

    [125]    [125]    [125]    [125]    [125]
    [250]    [250]    [250]    [250]    [250]
    [375]    [375]    [375]    [375]    [375]
    [500]    [500]    [500]    [500]    [500]

Пустое назначение матрицы

Можно назначить пустую матрицу ([]) к элементу массива Java. MATLAB хранит null значение, а не массив 0 на 0.

dblArray(2,2) = []
dblArray =

  java.lang.Double[][]:

    [125]    [125]    [125]    [125]    [125]
    [250]       []    [250]    [250]    [250]
    [375]    [375]    [375]    [375]    [375]
    [500]    [500]    [500]    [500]    [500]

Удаление с подстрочным индексом

При назначении пустой матрицы всей строке или столбцу массива MATLAB эта строка или столбец удаляется из массива. При назначении пустой матрицы массиву Java массив сохраняет свои размеры.

Например, создайте массив MATLAB.

for m = 1:4
    for n = 1:5
        matlabArr(m,n) = (m*10) + n;
    end
end
matlabArr
matlabArr = 
    11    12    13    14    15
    21    22    23    24    25
    31    32    33    34    35
    41    42    43    44    45

Назначьте пустую матрицу четвертому столбцу. Эта инструкция изменяет размеры с 4 на 4.

matlabArr(:,4) = []
matlabArr = 
    11    12    13    15
    21    22    23    25
    31    32    33    35
    41    42    43    45

При назначении пустой матрицы массиву Java dblArrayмассив сохраняет свои размеры 4 на 5.

dblArray(:,4) = []
dblArray =

  java.lang.Double[][]:

    [125]    [125]    [125]    []    [125]
    [250]       []    [250]    []    [250]
    [375]    [375]    [375]    []    [375]
    [500]    [500]    [500]    []    [500]