Discard elements from structure array

1 次查看(过去 30 天)
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?

回答(1 个)

Massimo Zanetti
Massimo Zanetti 2017-2-25
编辑:Massimo Zanetti 2017-2-25
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 个评论
Chris
Chris 2017-2-25
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 2017-2-25
编辑:Massimo Zanetti 2017-2-25
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).

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by