Problem with vertically Concatenating vectors in a function
1 view (last 30 days)
Show older comments
Joel Schelander
on 27 Apr 2021
Commented: Joel Schelander
on 28 Apr 2021
I have a cell array ABC containing three cells each cell contains a 1x1000 double. What I want is to put every double on top of each other in a column vector (nx1).
ABC={1x1000 cell
1x992 cell
1x928 cell);
My function looks like this:
nr=3;
s=1000;
[D]=func(nr,ABC,s);
function D = func(nr,ABC,s)
D = [];
for y =1:nr
data_length = length(ABC{y});
for o = 1:data_length
G((o-1)*s+1:o*s) = [ABC{y}{o} zeros(1,s-length(ABC{y}{o}))].';
end
D = [D; G.'];
end
end
My output should be D=2920000x1 double
But my output now is D=3000000x1 double
0 Comments
Accepted Answer
More Answers (1)
DGM
on 27 Apr 2021
% a cell array of numeric row vectors
A = {1:3,10:14,1:5}
% all row vectors concatenated into a col vector
bigcolvec = [A{:}]'
gives
A =
1×3 cell array
{1×3 double} {1×5 double} {1×5 double}
bigcolvec =
1
2
3
10
11
12
13
14
1
2
3
4
5
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!