How to construct a structure with cell data and doubles?

I'm trying to create a structure using either the struct command or the cell2struct command. The fields that I want for the structure are in a 1x32 cell and ultimately ends up as a char. The values I want are 30001x32 doubles.
I first use num2cell and that seems to output as a cell array but the values are double and when I use cell2struct, I get errors.
Specifically, this is what I put in the command prompt: s = cell2struct(fields{:}, values{:},2); It gives me an error that a string is not a char or you can't use doubles.
I also tried: s = cell2struct(fields{1,1},values(:,1),2); i have values(:,1) because i want the entire column for that one field. This also gave me an error.
What should I do?

답변 (1개)

Walter Roberson
Walter Roberson 2012년 1월 25일
s = cell2struct(values, fields, 2);

댓글 수: 1

Thanks. I tried it but it gives me separate struct for each value in the value array.
For example, I want it to be something like this:
s.time -> gives a 30001x1 array of time (0.0,0.1,0.2,etc)
But it gives me separate struct for each value:
s(1,1).time -> gives 0.0
s(2,1).time -> gives 0.1
s(3,1).time -> gives 0.2 etc

댓글을 달려면 로그인하십시오.

카테고리

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

태그

질문:

2012년 1월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by