how to call string array in structures

>> m = {'January' 'February' 'March' 'April' 'May' 'June' 'July' 'August' 'September' 'October' 'November' 'December' };
>> m(2) = struct('month',m(2),'date',2,'day', 10)
Error: *Conversion to cell from struct is not possible***
when i use the above code i am getting this error.
can someone please help me with this error and explain how to call string array in a struct.

1 个评论

What are you trying to achieve?
As it stands you are trying to replace m(2) with a struct, which is possible if you use curly braces {}. The question is why would you want to do that? What is your objective?

请先登录,再进行评论。

回答(2 个)

month = {'January' 'February' 'March' 'April' 'May' 'June' 'July' 'August' 'September' 'October' 'November' 'December' };
date = randsample(1:30,length(month)) ;
day = randsample(1:30,length(month)) ;
s = struct('month',month,'date',date,'day',day)
Jan
Jan 2016-12-20
编辑:Jan 2016-12-20
The problem is, that you try to replace a cell by a struct:
m(2) = struct('month',m(2),'date',2,'day', 10)
^ ^
It looks suspicious, that "m(2)" appears on both sides. If this is really wanted, you can replace the cell element using the curly braces instead of the parenthesis:
m{2} = struct('month',m(2),'date',2,'day', 10)
^ ^
Perhaps you want "m{2}" on the right hand side also?

类别

在 帮助中心 和 File Exchange 中查找有关 Structures 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by