MATLAB Answers

0

Discard elements from structure array

Chris 님이 질문을 제출함. 25 Feb 2017
최근 활동 Massimo Zanetti 님이 편집함. 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?

  댓글 수: 0

로그인 to comment.

태그

답변 수: 1

Massimo Zanetti 님의 답변 25 Feb 2017
Massimo Zanetti 님이 편집함. 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

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
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).

로그인 to comment.



Translated by