Find Empty Fields in Matrix and Delete them
조회 수: 12 (최근 30일)
이전 댓글 표시
Hi All,
I am trying to create a FOR LOOP that deletes all the empty field in my matrix!
I have some rows that are full of data and some that are empty and I would like to learn the formula to do such!
I want to learn this please!
can someone demonstrate an example, Please? I am uncertain of the terminology to express!
Thank you in advance!
답변 (1개)
Rik
2020년 4월 21일
편집: Rik
2020년 4월 21일
%generate fake data
data=cell(30,10);
for n=1:numel(data)
if rand>0.2
data{n}=rand(1,5);
end
end
%find all cells that don't contain data
L=cellfun('isempty',data);%faster than L=cellfun(@isempty,data);
%remove rows with any empty cell
emptyrows=any(L,2);
data(emptyrows,:)=[];
You can also use L to loop through the elements that have data in them (just invert it with the ~ operator).
댓글 수: 8
Rik
2020년 4월 21일
I didn't mean to insult you. I meant exactly what I said: I don't see how they would be easier to understand than the oneliner. And the Matlab documentation is an excellent resource, so you will be missing out massively if you don't learn to use it. Nobody is born knowing this, everyone who knows it was taught this at some point.
If you have trouble understanding the documentation I would be happy to explain it to you. I only wanted to direct you to it because if you learn how to help yourself it would save you waiting for a reply from me or someone else.
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!