matlab - Removing rows by indexing -


i have cell array of approx 300 rows. array has 6 columns. in 6th column lots of rows zeros. want remove these rows array.

i using line below getting error message saying "undefined function 'ne' input arguments of type 'cell'."

mydata = mydata(mydata(:,6) ~= 0); 

if it's cell array of numerals, try -

mydata(~vertcat(mydata{:,6}),6)={[]} 

or

mydata(~cell2mat(mydata(:,6)),6)={[]} 

or this, purely @chappjc's comments

mydata(~[mydata{:,6}],6)={[]} 

if it's cell array of characters, try -

mydata(~str2double(mydata(:,6)),6)={''} 

edit 1: if remove entire rows if corresponding elements in 6th column zeros, index whole row using :. thus, above codes change following forms respectively :

mydata(~vertcat(mydata{:,6}),:)={[]}  mydata(~cell2mat(mydata(:,6)),:)={[]}  mydata(~[mydata{:,6}],:)={[]}  mydata(~str2double(mydata(:,6)),:)={''} 

edit 2: if remove rows cell array have empty cells, may use -

mydata(all(cellfun('isempty', mydata),2),:) = [] 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -