# Zero pad vectors within cell array to make them equal length

I have a cell array with vectors y1, y2, y3, y4, y5 which are of variable lengths. I get the maximum length among all elements in the cell array using:

`sigvecarray = {y1, y2, y3, y4, y5};[maxsamples, idx] = max(cellfun(@numel, sigvecarray));`

Now, I need to zero pad the shorter vectors with the differrence from maxsmaples and their own sample numbers.

I tried the following first:

`signalvectors = {}for k = 1:numel(sigvecarray)    currveclength = length(sigvecarray{k})    if currveclength < maxsamples        padding = samples - currveclength        signalvectors{k} = [sigvecarray{k}, zeros(padding, 1)]    endend`

It gave me the follwing error:

`Error using horzcatDimensions of matrices being concatenated are not consistent.`

Then I tried the solution from the post here as follows:

`origsamplesarray = cellfun(@numel, sigvecarray);padfun = @(k) [sigvecarray{k} zeros(maxsamples(k) - origsamplesarray(k), 1)] ;signalvectors = arrayfun(padfun, 1:numel(sigvecarray) , 'un', 0);`

It gave me the following error:

`Error using horzcatDimensions of matrices being concatenated are not consistent.Error in xcorr>@(k)[sigvecarray{k},zeros(maxsamples(k)-origsamplesarray(k),1)]`

What am I possibly doing wrong above?

Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

I do not know what the dimensions of ‘sigvecarray’ are, however I assume they are all column vectors.

If so, replace the (,) with a (;) here, and it should work (unless there are also other problems):

`signalvectors{k} = [sigvecarray{k}; zeros(padding, 1)]`

All of these — including this:

`padfun = @(k) [sigvecarray{k} zeros(maxsamples(k) - origsamplesarray(k), 1)] ;`

function — are concatenating something with a column vector, that column vector being defined as:

`zeros(maxsamples(k) - origsamplesarray(k), 1)`