# 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)]

end

end

It gave me the follwing error:

`Error using horzcat`

Dimensions 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 horzcat

Dimensions 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?

# ANSWER

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)`

READ MORE: