Clear Filters
Clear Filters

how to call string array in structures

1 view (last 30 days)
vamshidhar Reddy Peruvala
vamshidhar Reddy Peruvala on 20 Dec 2016
Edited: Jan on 20 Dec 2016
>> 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 Comment
José-Luis
José-Luis on 20 Dec 2016
Edited: José-Luis on 20 Dec 2016
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?

Sign in to comment.

Answers (2)

KSSV
KSSV on 20 Dec 2016
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 on 20 Dec 2016
Edited: Jan on 20 Dec 2016
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?

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!