How do I delete empty rows in a matrix?

3 次查看(过去 30 天)
%% Combine the data %combined = [6050,54]% define size of combined
SWOA = zeros(100,5); CWOA = zeros(100,5); SWA = zeros(100,5); CWA = zeros(100,5);
for i = 8:length(mydata)%loop to group data together into jump types
if grouped(i,4) == 1 % if data = 1 put in squat without arms
SWOA(i,1) = grouped(i,1);
else if grouped(i,4) == 2 % if data = 2 put in counter without arms
CWOA(i,1) = grouped(i,1);
else if grouped(i,4) == 3 % if data = 3 put in squat with arms
SWA(i,1) = grouped(i,1);
else if grouped(i,4) == 4 % if data = 4 put in counter with arms
CWA(i,1) = grouped(i,1);
else if grouped(i,4)== 0
continue
end
end
end
end
end
end
emptyCells = cellfun('isempty', SWOA);
SWOA(all(emptyCells,2),:) = []
In the variable SWOA for example it looks like this:
I am trying to delete all rows that have 0's in so that I am left with only about 5 or 6 rows of data that can be processed, how would I do this?

采纳的回答

Honglei Chen
Honglei Chen 2014-5-14
CWOA(all(CWOA==0,2),:)=[]
  2 个评论
Franchesca
Franchesca 2014-5-14
does this replace these lines:
emptyCells = cellfun('isempty', SWOA);
SWOA(all(emptyCells,2),:) = []
Thank you
Honglei Chen
Honglei Chen 2014-5-14
These are slightly different. Your code works for cells, and it is indeed looking for empty cells. But empty cell is different than a matrix that has all zeros. My code for the latter.
Your code would work for things like
x = cell(2,3)
x(2,3) = {1}
It will remove the first row

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by