How to delete particular row from struct array?

30 views (last 30 days)
Hi
I want to know is there any passible method to delete the entire data related to particular column value in struct array.
  2 Comments
Minu
Minu on 9 May 2013
I have a struct array s1 =
1x518 struct array with fields: label,density,leftdist,rightdist,topdist,bottomdist,transitions,coltransitions,rowsum,columnsum,leftdiagonals,rightdiagonals,v0,chimg
i want do delete the whole data related to label=9 and chimg.how to solve this?

Sign in to comment.

Accepted Answer

David Sanchez
David Sanchez on 9 May 2013
Hi, I think you are looking for this:
s=rmfield(s,field)
example of use:
s.a=1;
s.b=2;
s.c=3;
>> s
s =
a: 1
b: 2
c: 3
s=rmfield(s,'a');
>> s
s =
b: 2
c: 3
  2 Comments
David Sanchez
David Sanchez on 9 May 2013
you can use it recursively in the struct array
Minu
Minu on 9 May 2013
how to delete the whole field for particular label?

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 9 May 2013
s1=struct('a',num2cell(1:10),'b',num2cell(11:20),'c',num2cell(21:30))
label=9
s1(label)=[]

Categories

Find more on Structures 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!