How to append matrix row depending on index in for loop?
古いコメントを表示
I have a 3D array of size 512 512 100 of ones and zeros. I want to look at the rows and record any row that contains all zeros in a new array, and stops when it comes across a row that contains a single one. However, I want to record the rows in a new 100 512 matrix where each row in that matrrix contains the index numbers of all the rows containing zeros in the original array. I wrote a small script but the recording in the new array part doesnt work:
Array=single.empty(100,0);
for 3Dimages=1:100
for i=1:512*inputofuser
if Original3Dimage(i,:,3Dimages)==0
Array(3Dimages,:)=[Array(3Dimages,:),i];
else
break
end
end
end
so it should be that each each row in the new 'Array' contains the index numbers for the rows containing zeros in the original array for that page number from 1:100
so there would be 100 rows, each one being for the 1:100 3Dimages number
and each row would have different number of columns, 512 being the greatest(maybe) beause each 3Dimages number would have a different number of rows containing zeros. Therefore there would be some empty cells (column-wise). If this is not possible, is there a different way to record the index numbers, seperating each of the 100 pages.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!