NANCAT
I wrote this some years back before I knew CATPAD existed. I'm putting it out here because it's between 2 to 4.5 times faster.
Syntax:
X = NANCAT( DIM, X1, X2, ... )
concatenates along dimension DIM, but doesn't complain if the items are all of different sizes. Pads the smaller matrices with NAN.
Generalises fully to N dimensional arrays.
X = NANCAT( DIM, X..., 'padvalue', P )
Pads with the value P rather than NAN. P must be a scalar.
Also handles cell arrays and char arrays; default padding cell is { [] }, and default char is ' '.
X = NANCAT( DIM, X..., 'alignend')
Aligns the new items at the end of the dimensions being padded - i.e. the padding goes "in front". For example,
NANCAT(1,[1 2 3; 4 5 6], [7 8])
ans =
[ 1 2 3
4 5 6
7 8 nan ]
but
NANCAT(1, [1 2 3; 4 5 6], [7 8], 'alignend')
ans =
[ 1 2 3
4 5 6
nan 7 8 ]
Notes for unusual cases:
* If any concatenands are cells, the output is a cell.
* If any of the concatenands are numeric, they are turned into cell arrays with num2cell.
* If the first operand isn't a cell, but later ones are, we default to padding with { [nan] }, rather than { [] }.
* Unlike CATPAD it does not return a flag matrix. Maybe that's why it's faster.
인용 양식
Sanjay Manohar (2023). NANCAT (https://www.mathworks.com/matlabcentral/fileexchange/40416-nancat), MATLAB Central File Exchange. 검색됨 .
MATLAB 릴리스 호환 정보
플랫폼 호환성
Windows macOS Linux카테고리
- MATLAB > Language Fundamentals > Data Types > Numeric Types > NaNs >
태그
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!버전 | 게시됨 | 릴리스 정보 | |
---|---|---|---|
1.0.0.0 |