Extended array indexing

버전 (4.38 KB) 작성자: David Young
Indexes a virtual array formed by extending an array indefinitely on each dimension.
다운로드 수: 672
업데이트 날짜: 2010/4/8

라이선스 보기

Given an array, it is possible to imagine a virtual array formed by padding the original array out in all directions. Valid subscripts for this virtual array range through all the negative and positive integers, without regard to the size of the original. This function implements this idea.

The padding out can be done in many ways. The following are implemented: using a constant value; replicating the border elements of the original; tiling the virtual array with copies of the original; tiling the virtual array with copies that have been flipped so that there is mirror symmetry along the borders of every copy. A different rule may be specified for each dimension.

The function is related to padarray, repmat and circshift, and padarray's option strings have been retained for consistency. However, exindex is more flexible than any of these; for example, the array can be cropped as well as extended, and indeed arbitrary indexing into the virtual array is allowed.

The function is easy to use:

exindex(arr, s1, s2, ...)

is equivalent to v(s1, s2, ...) where v stands for the virtual extended array. If one rule is to apply to all dimensions it can be specified with

exindex(arr, s1, s2, ..., rule)

or if different rules apply to different dimensions they can be specified with

exindex(arr, s1, r2, s2, r2, ...)

인용 양식

David Young (2024). Extended array indexing (https://www.mathworks.com/matlabcentral/fileexchange/27117-extended-array-indexing), MATLAB Central File Exchange. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2010a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
Help CenterMATLAB Answers에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보

Padding constants must now always be enclosed in a cell. The input array may be of any class. Trailing singleton dimensions may be indexed (so e.g. a 2D array can be extended into 3D). The code has been tidied and the help comments extended.