Discard elements from structure array

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 日

0 投票

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

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

タグ

質問済み:

2017 年 2 月 25 日

編集済み:

2017 年 2 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by