How to delete n element from structure

4 ビュー (過去 30 日間)
priyanka
priyanka 2015 年 2 月 8 日
コメント済み: Stephen23 2015 年 2 月 8 日
How an element can be deleted from a structure. Structure is having only one field.
  1 件のコメント
Erik S.
Erik S. 2015 年 2 月 8 日
Can you give an example of your structure and its field?

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

採用された回答

Image Analyst
Image Analyst 2015 年 2 月 8 日
% Make a structure with one field
% and an array in that field.
s.field1 = [1,2,3,4,5];
% Delete element 4 from the array in field1
s.field1(4) = []

その他の回答 (1 件)

Stephen23
Stephen23 2015 年 2 月 8 日
The original question "How an element can be deleted from a structure" also makes sense in the context of a non-scalar struct. In MATLAB, removing any element/s of the struct can be performed in exactly the same way as removing the elemtns of any other kind of array (numeric, char, etc):
>> A = struct('dat',{1,2,3,4});
>> A(3) = [];
OR
>> A = A([1,2,4]); % <- may be faster.
  2 件のコメント
Image Analyst
Image Analyst 2015 年 2 月 8 日
That creates an array of 4 structures, with each structure in the array having one field with one scalar value assigned to that field. That was not what I thought of. I thought of one structure with one field and an array assigned to that field. Hopefully the original poster will clarify which form it is.
Stephen23
Stephen23 2015 年 2 月 8 日
I have always thought of struct(1:n).(...) as being a "structure array" in and of itself, rather than being an array containing structures. Indeed this is what the documentation is subtitled " struct...Create structure array", and give syntax as " struct(field,value) creates a structure array...".

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

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

タグ


Translated by