sub
.. sub(A, inds...)
Like :func:`getindex`, but returns a view into the parent array ``A`` with the given indices instead of making a copy. Calling :func:`getindex` or :func:`setindex!` on the returned :obj:`SubArray` computes the indices to the parent array on the fly without checking bounds.Examples
The sub function in Julia generates a view into the parent array A with the given indices, instead of creating a copy. It behaves similarly to the getindex function. Calling getindex or setindex! on the returned SubArray computes the indices to the parent array on the fly without checking bounds.
Here are some examples of how the sub function can be used:
-
Create a subarray from a vector:
julia> A = [1, 2, 3, 4, 5]; julia> sub(A, 2:4) 3-element SubArray{Int64,1,Array{Int64,1},Tuple{UnitRange{Int64}},true}: 2 3 4This example creates a subarray that includes elements at indices 2, 3, and 4 from the vector
A. -
Generate a subarray from a matrix:
julia> B = [1 2 3; 4 5 6; 7 8 9]; julia> sub(B, 1:2, 2:3) 2×2 SubArray{Int64,2,Array{Int64,2},Tuple{UnitRange{Int64},UnitRange{Int64}},true}: 2 3 5 6In this example, a subarray is created from the original 3x3 matrix
Bby selecting rows 1 and 2, and columns 2 and 3. - Modify the parent array using subarray indices:
julia> C = [10, 20, 30, 40, 50]; julia> sub(C, 2:4) .= [15, 25, 35]; julia> C 5-element Array{Int64,1}: 10 15 25 35 50This example demonstrates how modifying the subarray using
setindex!affects the original arrayC.
It's important to note that when using sub, the returned SubArray does not perform bounds checking. Therefore, it is the responsibility of the user to ensure that the provided indices are valid for the parent array.
See Also
User Contributed Notes
Add a Note
The format of note supported is markdown, use triple backtick to start and end a code block.