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.
Citar como
Sanjay Manohar (2024). NANCAT (https://www.mathworks.com/matlabcentral/fileexchange/40416-nancat), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Compatibilidad con las plataformas
Windows macOS LinuxCategorías
- MATLAB > Language Fundamentals > Data Types > Numeric Types > NaNs >
Etiquetas
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
Versión | Publicado | Notas de la versión | |
---|---|---|---|
1.0.0.0 |