Specifying elements of a structure array that have different fields

Hello -
I'm using a structure array to describe a set of particles that can have very different properties. I've found that by creating a structure field for each element of the array, I can then add specific fields that may not be shared by all members of the array:
particle(1).type = 'human';
particle(1).properties.name = 'Barney';
particle(1).properties.gender = 'm';
particle(1).properties.weight = 190.0;
particle(2).type = 'vehicle';
particle(2).properties.model = 'Camry';
particle(2).properties.weight = 3000.0;
particle(2).properties.length = 14.0;
Is this permissible to do? Thanks.

回答 (1 件)

José-Luis
José-Luis 2014 年 6 月 5 日
編集済み: José-Luis 2014 年 6 月 5 日

0 投票

To get a logical index into all 'human':
humanIdx = cellfun(@(x) strcmp('human',x),{particle(:).type})
Please accept an answer if it helped you.

2 件のコメント

Martin
Martin 2014 年 6 月 5 日
I think I was confusing. I am just wondering if it is OK to build such structure arrays with different fields in a substructure, or whether this will cause some kind of problem
José-Luis
José-Luis 2014 年 6 月 5 日
Yes you can. Accessing stuff will lead to tricky syntax, but is doable as shown above.
What is your ultimate purpose? Build a database? If so, then Matlab is really not the right tool for the job.

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

カテゴリ

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

製品

質問済み:

2014 年 6 月 5 日

コメント済み:

2014 年 6 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by