Why is `struct('name', value)` different with dot notation?

1 回表示 (過去 30 日間)
Albert Bing
Albert Bing 2019 年 12 月 13 日
回答済み: Fangjun Jiang 2019 年 12 月 13 日
a = {{'abc'}};
S1 = struct('f', a};
S2.f = a;
I thought S1.f and S2.f have the same value. But it's not.
S1.f = {'abc'};
S2.f = {{'abc'}};
Why?

回答 (1 件)

Fangjun Jiang
Fangjun Jiang 2019 年 12 月 13 日
It is in the document. Check this example in the document. One creates a 1x2 struct array. The other creates a single struct.
>> s = struct('type',{'big','little'},'color','red')
s =
1×2 struct array with fields:
type
color
>> s = struct('type',{{'big','little'}},'color','red')
s =
struct with fields:
type: {'big' 'little'}
color: 'red'

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by