MATLAB: Array/Data Strucutre Returns Problem

arraystructures

I made a data structure as the following:
idols(1).groupname='2pm';
idols(1).nummembers = 6;
idols(1).gender = 'boys';
idols(1).debut = 2008;
idols(1).member(1).name = 'chansung';
idols(1).member(1).birthyear = 1990;
idols(1).member(1).height = 184;
idols(1).member(1).blood = 'B';
idols(1).member(2).name = 'junho';
idols(1).member(2).birthyear = 1990;
idols(1).member(2).height = 178;
idols(1).member(2).blood = 'A';
Then
name=idols(1).groupname
/////////////
The result is
name =
2pm
////////////
If I want the result to be the same as the input, i.e. name='2pm' How should I receive or change the value? Assuming that the method of making the data structure is not changed.
PS: It seems to be the case that if I make the data structure differently, it gives '2pm' instead of 2pm.

Best Answer

I think you can't compare two string with == . You will get dimensions mismatch. As for string '2pm' the length = 3 and for 'SNSD' the length =4. You can use string compare function.
let say.
if (strcmp(idols(1).groupname, idols(2).groupname))
fprintf('Group is 2pm, or whatever you want');
end