Extract multiple matrices from an array by excluding specified numbers.
2 ビュー (過去 30 日間)
古いコメントを表示
Let's say i got an array like [0 0 0 3 5 7 2 1 4 0 0 0 4 7 8 5 2 4] .
I want to build matrices excluding all zeroes and get 3x2 matrices with remaining values like
A = 3 2 & B= 4 5
5 1 7 2
7 4 8 4
How can this be done? Thanks.
0 件のコメント
採用された回答
David Fletcher
2021 年 5 月 22 日
編集済み: David Fletcher
2021 年 5 月 22 日
Will do the job in this case, but is not massively robust. Would need additional code to enforce the number of elements in the vector being reshaped if there is a chance it will not be a multiple of (six in this case)
vec=[0 0 0 3 5 7 2 1 4 0 0 0 4 7 8 5 2 4];
%Remove zeros
vec(vec==0)=[];
index=1;
for iter=1:6:numel(vec)
%Reshape remaining vector into a 3x2 and store
mat(:,:,index)=reshape(vec(iter:iter+5),[],2);
index=index+1;
end
mat(:,:,1)
mat(:,:,2)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!