Discard elements from structure array

1 view (last 30 days)
Chris
Chris on 25 Feb 2017
Edited: Massimo Zanetti on 25 Feb 2017
I have a structure with one field. I try to remove specific elements using i.e.:
trial(5).Hs_m = []
but the element remains in the structure, just having a value of "[]". Is there a way to remove it?

Answers (1)

Massimo Zanetti
Massimo Zanetti on 25 Feb 2017
Edited: Massimo Zanetti on 25 Feb 2017
There is a specific function to remove a field from a structure: rmfield
Here is an example:
S.field1 = 'hello';
S.field2 = 456;
S
S =
struct with fields:
field1: 'hello'
field2: 456
Now remove one field:
S = rmfield(S,'field1')
S =
struct with fields:
field2: 456
  2 Comments
Chris
Chris on 25 Feb 2017
Thank you for the answer! I have to remove an element though, not a field! My structure has a length of 240 and I want to remove i.e. one, so to have up to trial(239).Hs_m
Massimo Zanetti
Massimo Zanetti on 25 Feb 2017
Edited: Massimo Zanetti on 25 Feb 2017
So, why mentioning the field? In this case just remove the structure entry. Following your example, you can remove the 5-th entry with
trial(5) = []
regardless of the field(s).

Sign in to comment.

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!