Indexing vectors in a cell matrix with for loops?

1 Ansicht (letzte 30 Tage)
Camille Godin
Camille Godin am 7 Jun. 2021
Kommentiert: Camille Godin am 7 Jun. 2021
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.

Akzeptierte Antwort

SALAH ALRABEEI
SALAH ALRABEEI am 7 Jun. 2021
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);

Weitere Antworten (1)

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

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by