To assign values to objects in a Java® object array, use
the MATLAB® command syntax. For example, the following statement
assigns a value to Java array A
of type java.lang.Double
.
A(row,column) = java.lang.Double(value)
In a Java program, you would assign the value to A[row-1][column-1]
.
For more information on the differences between Java and MATLAB arrays,
see How MATLAB Represents Java Arrays.
To run the examples in this topic, create a 4-by-5 array dblArray
.
The values displayed for dblArray
depend on the
order in which you run the examples.
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]
You can use single-subscript indexing to assign values to an
array. For example, create a 5-by-1 Java array and assign it
to a row of dblArray
.
onedimArray = javaArray('java.lang.Double',5); for k = 1:5 onedimArray(k) = java.lang.Double(100*k); end
Replace row 3 with the values of 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]
To assign a value to every element of a multidimensional Java array,
use the MATLAB colon operator (:
). For example,
initialize the contents of dblArray
to zero.
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]
Use the colon operator as you would when working with MATLAB arrays.
For example, assign one value to each row in 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]
You can assign the empty matrix ([]
) to a Java array
element. MATLAB stores the null
value, rather
than a 0-by-0 array.
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]
If you assign an empty matrix to an entire row or column of a MATLAB array, then MATLAB removes that row or column from the array. When you assign the empty matrix to a Java array, the array maintains its dimensions.
For example, create a MATLAB array.
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
Assign the empty matrix to the fourth column. This statement changes its dimensions from 4-by-5 to 4-by-4.
matlabArr(:,4) = []
matlabArr = 11 12 13 15 21 22 23 25 31 32 33 35 41 42 43 45
When you assign the empty matrix to the Java array dblArray
,
the array maintains its 4-by-5 dimensions.
dblArray(:,4) = []
dblArray = java.lang.Double[][]: [125] [125] [125] [] [125] [250] [] [250] [] [250] [375] [375] [375] [] [375] [500] [500] [500] [] [500]