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

4 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by