struct2table
구조체형 배열을 테이블로 변환
설명
예제
스칼라 구조체를 테이블로 변환하기
디폴트 옵션을 사용하여 스칼라 구조체를 테이블로 변환합니다.
구조체형 배열 S
를 만듭니다.
S.Name = ["Chang";"Brown";"Ruiz"]; S.Smoker = ["Y";"N";"Y"]; S.SystolicBP = [124;122;130]; S.DiastolicBP = [93;80;92];
스칼라 구조체 S
에는 4개의 필드가 있으며 각 필드는 3개의 행으로 구성되어 있습니다.
구조체형 배열을 테이블로 변환합니다.
T = struct2table(S)
T=3×4 table
Name Smoker SystolicBP DiastolicBP
_______ ______ __________ ___________
"Chang" "Y" 124 93
"Brown" "N" 122 80
"Ruiz" "Y" 130 92
S
의 구조체 필드 이름은 출력 테이블의 변수 이름이 됩니다. T
의 크기는 3×4입니다.
테이블 속성 T.Properties.RowNames
를 수정한 다음, 변수 Name
을 삭제하여 Name
을 변수에서 행 이름으로 변경합니다.
T.Properties.RowNames = T.Name; T.Name = []; T
T=3×3 table
Smoker SystolicBP DiastolicBP
______ __________ ___________
Chang "Y" 124 93
Brown "N" 122 80
Ruiz "Y" 130 92
비 스칼라 구조체형 배열을 테이블로 변환하기
비 스칼라 구조체형 배열 S
를 만듭니다.
S(1,1).Name = "Chang"; S(1,1).Smoker = "Y"; S(1,1).SystolicBP = 124; S(1,1).DiastolicBP = 93; S(2,1).Name = "Brown"; S(2,1).Smoker = "N"; S(2,1).SystolicBP = 122; S(2,1).DiastolicBP = 80; S(3,1).Name = "Ruiz"; S(3,1).Smoker = "Y"; S(3,1).SystolicBP = 130; S(3,1).DiastolicBP = 92; S
S=3×1 struct array with fields:
Name
Smoker
SystolicBP
DiastolicBP
S
는 필드가 4개인 3×1 구조체형 배열입니다.
구조체형 배열을 테이블로 변환합니다.
T = struct2table(S)
T=3×4 table
Name Smoker SystolicBP DiastolicBP
_______ ______ __________ ___________
"Chang" "Y" 124 93
"Brown" "N" 122 80
"Ruiz" "Y" 130 92
S
의 구조체 필드 이름은 출력 테이블의 변수 이름이 됩니다. T
의 크기는 3×4입니다.
스칼라 구조체를 배열로 처리하기
"AsArray",true
를 사용하여 필드의 행 개수가 서로 다른 스칼라 구조체에서 테이블을 만듭니다.
name
필드, billing
필드, test
필드를 가진 스칼라 구조체 S
를 만듭니다.
S.name = "John Doe";
S.billing = 127.00;
S.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205]
S = struct with fields:
name: "John Doe"
billing: 127
test: [3x3 double]
필드의 행 개수가 서로 다릅니다. 따라서, 디폴트 값 "AsArray",false
로는 struct2table(S)
를 사용할 수 없습니다.
스칼라 구조체를 배열로 처리한 후 테이블로 변환합니다.
T = struct2table(S,"AsArray",true)
T=1×3 table
name billing test
__________ _______ ____________
"John Doe" 127 {3x3 double}
T
는 하나의 행을 가집니다.
입력 인수
S
— 구조체형 배열
구조체형 배열
구조체형 배열로, 스칼라 구조체형 배열로 지정됩니다.
S
가 모두m
개 행을 가진 필드n
개가 포함된 스칼라 구조체이면T
는m
×n
테이블이 됩니다.S
가 필드n
개가 포함된 비 스칼라m
×1
구조체형 배열이면T
는m
×n
테이블이 됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: "RowNames",["row1","row2","row3"]
은 테이블 T
에 행 이름 row1
, row2
, row3
을 사용합니다.
RowNames
— 행 이름
{}
(디폴트 값) | string형 배열 | 문자형 벡터로 구성된 셀형 배열
행 이름으로, "RowNames"
와 함께 비어 있지 않은 고유한 요소를 갖는 string형 배열 또는 문자형 벡터로 구성된 셀형 배열이 쉼표로 구분되어 지정됩니다.
공백이나 비ASCII 문자를 포함하여 모든 Unicode® 문자를 행 이름에 사용할 수 있습니다.
선행 또는 후행 공백 문자가 있는 행 이름을 지정하면 struct2table
이 행 이름에서 공백 문자를 제거합니다.
DimensionNames
— 차원 이름
문자형 벡터로 구성된, 요소를 2개 가진 셀형 배열 | 요소를 2개 가진 string형 배열
R2021a 이상
차원 이름으로, 문자형 벡터 요소를 2개 가진 셀형 배열 또는 비어 있지 않고 고유한 요소를 2개 가진 string형 배열로 지정됩니다.
차원 이름에는 공백 및 비ASCII 문자를 포함하여 모든 Unicode 문자를 사용할 수 있습니다.
R2021a 이전 릴리스에서는 차원 이름을 지정하려면 출력값의 DimensionNames
속성을 설정하는 방법밖에 없었습니다.
AsArray
— 스칼라 구조체를 처리하는 방법을 나타내는 표시자
false
(디폴트 값) | true
| 0
| 1
스칼라 구조체를 처리하는 방법을 나타내는 표시자로, "AsArray"
와 함께 false
, true
, 0
또는 1
이 쉼표로 구분되어 지정됩니다.
|
|
|
|
출력 인수
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
자세한 내용은 Code Generation for Tables (MATLAB Coder) 항목과 Table Limitations for Code Generation (MATLAB Coder) 항목을 참조하십시오.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
버전 내역
R2013b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)