I'm trying to use set to copy a set of fields from one struct to another. Here's a minimal (non)working example of what I'm trying to do:
foo = struct('fieldName1',[]);
bar = struct('fieldName2',[10 20 30]);
set(foo,'fieldName1',bar.fieldName2)
This gives an error:
Error using set
Conversion to double from struct is not possible.
But if I do
foo.fieldName1 = bar.fieldName2
the assignment is successful. However, this method is tedious for large numbers of fields.
How am I using set wrong here?

 採用された回答

Fangjun Jiang
Fangjun Jiang 2020 年 8 月 26 日

0 投票

setfield(foo,'fieldName1',bar.fieldName2)

1 件のコメント

Josh G.
Josh G. 2020 年 8 月 26 日
Thanks, I'd gotten so used to using set with figures and properties I forgot they were distinct from structs and fields.

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

その他の回答 (0 件)

カテゴリ

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

製品

リリース

R2020a

質問済み:

2020 年 8 月 26 日

コメント済み:

2020 年 8 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by