How do I delete empty rows in a matrix?

4 ビュー (過去 30 日間)
Franchesca
Franchesca 2014 年 5 月 14 日
コメント済み: Honglei Chen 2014 年 5 月 14 日
%% 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 Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by