Retrieving strings from struct variable

Hello,
What I am trying to do is retrieve strings from a struct variable and store them in a vector. The struct variable is 16x1 with the first field holding the string data.
Here is what I tried, for example:
---------------
for i = 1:16
stringVector(i) = structVar(i).stringField;
end
---------------
Here is the error I am receiving:
"??? In an assignment A(:) = B, the number of elements in A and B must be the same."
Any thoughts?

 채택된 답변

Sean de Wolski
Sean de Wolski 2011년 7월 20일

1 개 추천

stringvector should be a cell
stringvector = cell(16,1)
for ii = 1:16
stringvector{ii} = structVar(ii).stringField
end
You could also skip the for-loop with
stringvector = {structVar.stringfield}

추가 답변 (2개)

Fangjun Jiang
Fangjun Jiang 2011년 7월 20일

1 개 추천

Your strings may have different length. Thus, it is better to use cell array of strings. change your line to be:
stringVector{i} = structVar(i).stringField
James
James 2011년 7월 20일

0 개 추천

Ah, it seems my research should have turned towards cells rather than structures. Thanks for the response!
--Jimmy

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

제품

질문:

2011년 7월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by