struct2table
구조체형 배열을 테이블로 변환
설명
는 위에 열거된 구문에 나와 있는 입력 인수 외에, 이름-값 인수를 하나 이상 사용하여 옵션을 지정합니다.T = struct2table(S,Name=Value)
예를 들어, AsArray를 true로 설정하여 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입니다.
필드의 행 개수가 서로 다른 스칼라 구조체에서 테이블을 만들려면 스칼라 구조체를 구조체형 배열로 처리합니다.
name 필드, billing 필드, test 필드를 가진 스칼라 구조체를 만듭니다.
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: [3×3 double]
이 경우, 필드의 행 개수가 서로 다르므로 struct2table(S)는 사용할 수 없습니다.
대신 AsArray 이름-값 인수를 설정하여 입력값을 구조체형 배열로 처리합니다. 이 구문을 사용하면 필드의 행 개수가 서로 다른 경우에도 스칼라 구조체를 행이 한 개 있는 테이블로 변환할 수 있습니다.
T = struct2table(S,AsArray=true)
T=1×3 table
name billing test
__________ _______ ____________
"John Doe" 127 {3×3 double}
입력 인수
입력 배열로, 스칼라 구조체 또는 구조체형 배열로 지정됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: S가 스칼라 구조체이면 struct2table(S,AsArray=true)는 S를 한 행 크기의 테이블로 변환합니다.
행 이름으로, 비어 있지 않은 고유한 요소를 갖는 string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 행 이름의 개수는 입력 배열의 행 개수와 같아야 합니다.
콜론 문자 :을 제외한 공백이나 비ASCII 문자를 포함하여 모든 Unicode® 문자를 행 이름에 사용할 수 있습니다.
선행 또는 후행 공백 문자를 갖는 행 이름을 지정할 경우 struct2table은 행 이름에서 해당 공백을 제거합니다.
차원 이름으로, 문자형 벡터 요소를 2개 가진 string형 배열 또는 비어 있지 않고 고유한 요소를 2개 가진 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
차원 이름에는 공백 및 비ASCII 문자를 포함하여 모든 Unicode 문자를 사용할 수 있습니다. 하지만 차원 이름은 어떤 테이블 변수 이름이나 예약된 이름인 Properties, RowNames, VariableNames 또는 콜론 문자(:)와 일치할 수 없습니다.
또는 모든 릴리스에서 테이블의 DimensionNames 속성을 설정하여 차원 이름을 지정할 수 있습니다.
입력값을 구조체형 배열로 처리하는 플래그로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다.
입력값이 비 스칼라 구조체형 배열인 경우 디폴트 값 | 구조체형 배열을 각 구조체에 대해 하나의 행을 가지고 구조체형 배열의 각 필드에 대해 하나의 변수를 가지는 테이블로 변환합니다. 필드의 크기는 서로 다를 수 있습니다.
|
입력값이 스칼라 구조체인 경우 디폴트 값 | 필드 예: S.a = [1;2;3] S.b = [4 5;6 7;8 9] T = struct2table(S) T =
3×2 table
a b
_ ______
1 4 5
2 6 7
3 8 9
|
출력 인수
확장 기능
사용법 관련 참고 및 제한 사항:
자세한 내용은 Code Generation for Tables (MATLAB Coder) 항목과 Table Limitations for Code Generation (MATLAB Coder) 항목을 참조하십시오.
C/C++ 코드 생성 섹션의 사용법 관련 참고 및 제한 사항을 참조하십시오. GPU 코드 생성에도 동일한 사용법 관련 참고 및 제한 사항이 적용됩니다.
스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.
버전 내역
R2013b에 개발됨
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)