Indexing vectors in a cell matrix with for loops?

1 次查看(过去 30 天)
Hello,
I have a 1x8 cell matrix. Each cell contains a 30x500 matrix. I need to combine the 3 first row vectors in each cell to form a new matrix. The new matrix needs to have 8 columns, each column representing the original cell. That being said, the 3 original row vectors have to be combined in one column vector. My final matrix will be 1500x8.
Basically, I have no idea how to index vectors from each cell to form a new matrix.
Thank you in advance.

采纳的回答

SALAH ALRABEEI
SALAH ALRABEEI 2021-6-7
if true
% You can either use this
A{1}(1:3,:) %to extract the first 3 rows of the 1st matrix, and the same for all.
% Or convet the cell to mat, then you know the rest
B = reshape(cell2mat(A),30,1500,8);

更多回答(1 个)

David Hill
David Hill 2021-6-7
newmat=zeros(1500,8)
for k=1:8
t=yourCell{k}(1:3,:);
t=t';
newmat(:,k)=t(:);
end

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by