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.
0 件のコメント
採用された回答
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);
0 件のコメント
その他の回答 (1 件)
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 Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!