NANCAT

Like CAT, but padding with NaNs. Doesn't complain if input sizes heterogeneous. Faster than CATPAD.

Al momento, stai seguendo questo contributo

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.

Cita come

Sanjay Manohar (2026). NANCAT (https://it.mathworks.com/matlabcentral/fileexchange/40416-nancat), MATLAB Central File Exchange. Recuperato .

Informazioni generali

Compatibilità della release di MATLAB

  • Compatibile con qualsiasi release

Compatibilità della piattaforma

  • Windows
  • macOS
  • Linux
Versione Pubblicato Note della release Action
1.0.0.0