Extracting data from an array
显示 更早的评论
I have an array of 69 x 1 cells. All cells are either 12 x 2 or 13 x 2 matrices. I want to make a matrix, with all second columns from the matrices in the array.
So for example:
This is my array: (I havent given names to the cells yet, but just for the example)
[y1; y2; y3; y4; y5.......]
y1 = 12 x 2 matrix y2 = 12 x 2 matrix y3 = 13 x 2 matrix y4 = 12 x 2 matrix y5 = 13 x 2 matrix
I want all second columns from y1 till y69 in a n x 69 matrix.
Thanks for the help!
采纳的回答
更多回答(1 个)
Andrei Bobrov
2015-9-28
x = arrayfun(@(x)randi(56,randi([12 13]),2),(1:69)','un',0); % x - your array
n = cellfun(@(x)size(x,1),x);
nm = max(n);
m = numel(x);
out = nan(nm,numel(x));
for ii = 1:m
out(1:n(ii),ii) = x{ii}(:,2);
end
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!