NANCAT

Like CAT, but padding with NaNs. Doesn't complain if input sizes heterogeneous. Faster than CATPAD.
450 download
Aggiornato 20 feb 2013

Visualizza la licenza

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 (2024). NANCAT (https://www.mathworks.com/matlabcentral/fileexchange/40416-nancat), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2007a
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su NaNs in Help Center e MATLAB Answers
Tag Aggiungi tag

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
1.0.0.0