How do I delete empty rows in a matrix?
    7 views (last 30 days)
  
       Show older comments
    
%% 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?
0 Comments
Accepted Answer
  Honglei Chen
    
      
 on 14 May 2014
        CWOA(all(CWOA==0,2),:)=[]
2 Comments
  Honglei Chen
    
      
 on 14 May 2014
				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
More Answers (0)
See Also
Categories
				Find more on Data Type Conversion in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!