Assign a 'double' variable to struct

12 次查看(过去 30 天)
I have a variable as such:
A.b = 'example';
And I want to change it to:
A.b.c = 2;
How can I do it without it prompting:
'Field assignment to a non-structure array object'
It worked on matlab's version before 2014.
Thank you,
Ziv
  2 个评论
Stephen23
Stephen23 2018-1-10
You can't.
You first define the field b as a double. You cannot then try to access field b as a structure.
Steven Lord
Steven Lord 2018-1-10
FYI this changed in release R2015b according to the Release Notes.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2018-1-10
编辑:Jan 2018-1-10
A.b = 'example';
A.b = struct('c', 2); % Overwrite field "b"
Or:
A.b = 'example';
A.b = [];
A.b.c = 2
It is strange, that this works with the empty matrix, if it fails with an error for a char vector. But the first method is better, because it overwrites the field clearly.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Axes Appearance 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by