# How to convert a structure into a individual double elements

조회 수: 697(최근 30일)
Artu 2012년 6월 25일
편집: Stephen 2021년 3월 25일
Hello all,
I have a structure containing ten "8760x1 double" I need to do some descriptive statistical analysis for each group of data. I want to convert this structure into ten dettached differents elements. How can I do this? I have tried struct2cell and I get one 10x1 cell but then I don't know how to dettach each group of data out of this.

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

### 채택된 답변

Image Analyst 2012년 6월 25일
Why not just simply do
vector1 = yourStruct.vector1;
vector2 = yourStruct.vector2;
vector3 = yourStruct.vector3;
vector4 = yourStruct.vector4;
vector5 = yourStruct.vector5;
vector6 = yourStruct.vector6;
vector7 = yourStruct.vector7;
vector8 = yourStruct.vector8;
vector9 = yourStruct.vector9;
vector10 = yourStruct.vector10;
which is very easy, intuitive, and straightforward?
##### 댓글 수: 1표시숨기기 없음
T Path 2015년 12월 12일
I had a bit of a rough time loading data from a .mat file. This method works like a charm.

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

### 추가 답변(6개)

grapevine 2012년 6월 25일
there are different ways to sort out your issue
you might use:
C= struct2cell(s)
and then
A= cell2mat(C)
another way is to write a small code with a loop to copy all the elements of the structure in an array, for example
s = struct('f1', [1, 3, 2, 4])
a=[]
lenS=length(s.f1)
for i=1:1:lenS
a=[ a s(f1)]
end
good luck
##### 댓글 수: 0표시숨기기 이전 댓글 수: -1

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

Andrei Bobrov 2012년 6월 25일
Try this is code
A = struct2cell(yourstructdata);
out = cat(2,A{:});
##### 댓글 수: 0표시숨기기 이전 댓글 수: -1

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

I have a struct 2x1 and I want to write it's contain to excel directly. So, I want to ask the way to do it. Thank you
##### 댓글 수: 1표시숨기기 없음
Image Analyst 2016년 6월 5일
Call xlswrite for each member of the structure. You have to get a numerical array or a cell array of strings. If you don't know how to do that then tell us what the structure of your structure is.
Also, you might read this: the FAQ

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

Mayss Aliyeh 2017년 5월 19일
What if in the struct I have 7 fields, and all of them are different sizes of doubles? I want to use them for the svmtrain. How can I solve my problem?
##### 댓글 수: 0표시숨기기 이전 댓글 수: -1

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

Mark Brandon 2017년 12월 5일
Consider a struct A, with fields a and b, each with a column of elements. You can convert the fields into column vectors using the following:
aVec = [A.a(:)] bVec = [A.b(:)]
##### 댓글 수: 0표시숨기기 이전 댓글 수: -1

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

Question
How to change struct 1x2 to double 1x1?
##### 댓글 수: 4표시숨기기 이전 댓글 수: 3
Stephen 2021년 3월 24일
"How to change struct 1x2 to double 1x1?"
Clearly this is a MATLAB riddle, which is rather nice. One solution is:
'struct 1x2'
ans = 'struct 1x2'
ans(:) = ans-[15,5,-3,19,-9,15,0,0,0,1]
ans = 'double 1x1'
Note how it changes the data, exactly as requested. CODY enthusiasts can add their own solutions.

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

### Community Treasure Hunt

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

Start Hunting!