MATLAB: Remove column in cell data

cellcolumn

I have a cell such as
C={};
C{1,1}='A';
C{1,2}='B';
C{1,3}='C';
C{2,1}=[1 0 1;0 0 1;2 1 -1];
C{2,2}=[1 2 -1;-1 0 1;0 1 -1];
C{2,3}=[1 0 -1;-1 0 1;-1 1 -1];
C{3,1}=5/9;
C{3,2}=2/9;
C{3,3}=-1/9;
C =
3×3 cell array
{'A' } {'B' } {'C' }
{3×3 double} {3×3 double} {3×3 double}
{[ 0.5556]} {[ 0.2222]} {[ -0.1111]}
I want to remove a column which have the value -1<=x>=1 in all of the elements in the matrix at the second row. Such that
C =
3×2 cell array
{'A' } {'B' }
{3×3 double} {3×3 double}
{[ 0.5556]} {[ 0.2222]}

Best Answer

Try this
B=cellfun(@(x) sum(sum(abs(x)>1)),C(2,:),'uniformoutput',false)
B=cell2mat(B);
C(:,B<1)=[]
C =
3×2 cell array
{'A' } {'B' }
{3×3 double} {3×3 double}
{[ 0.5556]} {[ 0.2222]}