concatenate cell arrays of unequal lengths
Updated 27 Mar 2017

View License

M = padcatcell(C1, C2, ..., CN} concatenates the cell arrays C1 through CN into one large cell array M. These cells do not have to have the same number of elements. M will have N rows and the k-th row will contain the elements of the k-th cell array. Shorter inputs will be padded with empty cells. Note that the cells are always concatenated along the first dimension (in contrast to PADCAT).

[M, TF] = padcatcell (...) will return a logical array TF with the same size as M. TF is true where M holds an element from the original input. This is usefull to replace the padded empty cells with something else.

A = {'apple','ball','cat'}
B = {} ; % empty
C = {'dog' ; 'egg'} % note the column orientation
[M, TF] = padcatcell(A, B, C)
M(~TF) = {'-'}

Note: the cells are not limited to cell array of strings, they can hold any type of element.
See also cat, padcat, nones, strvcat, group2cell, catstruct

Cite As

Jos (10584) (2024). padcatcell (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Creating and Concatenating Matrices in Help Center and MATLAB Answers

Inspired by: nones

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

file exchange title change

uploaded correct version 1.11

added note about cell array of strings