주요 콘텐츠

cell2struct

셀형 배열(Cell Array)을 구조체형 배열(Structure Array)로 변환

    설명

    structArray = cell2struct(cellArray,fields)는 셀형 배열에 포함된 정보와 지정된 필드 이름을 사용하여 구조체형 배열을 만듭니다. 이 함수는 셀형 배열의 각 행을 구조체의 해당 필드 이름에 할당합니다.

    예제

    structArray = cell2struct(cellArray,fields,dim)은 셀형 배열의 차원 dim을 따라 데이터 세트를 구조체의 해당 필드 이름에 할당합니다. 예를 들어, 셀형 배열의 각 열을 해당 필드 이름에 할당하려면 dim을 2로 지정합니다.

    예제

    예제

    모두 축소

    5일 동안의 고온과 저온 데이터를 저장하는 셀형 배열을 만듭니다.

    T(1,:) = {"highs",[44,38,46,43,48]};
    T(2,:) = {"lows",[35,31,32,28,35]}
    T=2×2 cell array
        {["highs"]}    {[44 38 46 43 48]}
        {["lows" ]}    {[35 31 32 28 35]}
    
    

    셀형 배열 데이터의 첫 번째 열을 사용하여 구조체의 필드 이름을 정의합니다.

    fields = [T{:,1}]
    fields = 1×2 string
        "highs"    "lows"
    
    

    셀형 배열의 두 번째 열에 있는 온도 데이터를 temps라는 셀형 배열에 복사합니다.

    temps = T(:,2)
    temps=2×1 cell array
        {[44 38 46 43 48]}
        {[35 31 32 28 35]}
    
    

    temps 셀형 배열과 필드 이름을 입력값으로 사용하여 cell2struct를 호출합니다. MATLAB은 temps의 각 데이터 행을 해당 필드 이름에 할당합니다.

    Tstruct = cell2struct(temps,fields)
    Tstruct = struct with fields:
        highs: [44 38 46 43 48]
         lows: [35 31 32 28 35]
    
    

    구조체의 요소를 참조하여 셋째 날의 저온 데이터를 가져옵니다.

    Tstruct.lows(3)
    ans = 
    32
    

    ID 번호, 체온, 혈압 등 익명의 환자 정보를 포함하는 셀형 배열을 만듭니다.

    patients(1,:) = {"A134",98.5,[124 85]};
    patients(2,:) = {"B267",99.1,[109 77]};
    patients(3,:) = {"C889",97.9,[120 81]}
    patients=3×3 cell array
        {["A134"]}    {[98.5000]}    {[124 85]}
        {["B267"]}    {[99.1000]}    {[109 77]}
        {["C889"]}    {[97.9000]}    {[120 81]}
    
    

    구조체에 사용할 필드 이름으로 구성된 벡터를 만듭니다.

    fields = ["PatientID","BodyTemp","BloodPressure"];

    셀형 배열의 각 데이터 열을 구조체의 해당 필드 이름과 연결하려면 차원을 2로 설정하여 cell2struct를 호출합니다.

    patientStruct = cell2struct(patients,fields,2)
    patientStruct=3×1 struct array with fields:
        PatientID
        BodyTemp
        BloodPressure
    
    

    새로 생성된 구조체형 배열에서 환자 C889의 혈압을 가져옵니다.

    patientC889BP = patientStruct(3).BloodPressure
    patientC889BP = 1×2
    
       120    81
    
    

    입력 인수

    모두 축소

    구조체형 배열로 변환할 셀형 배열입니다.

    구조체형 배열 필드의 이름으로, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 필드 이름 개수는 dim으로 지정된 차원을 따라 센 셀 개수와 일치해야 합니다.

    셀형 배열을 분할하는 차원으로, 양의 정수로 지정됩니다. 예를 들어, 기본값 1은 셀형 배열의 각 행을 fields의 해당 필드 이름에 할당합니다. 셀형 배열의 각 열을 해당 필드 이름에 할당하려면 2를 지정합니다.

    확장 기능

    모두 확장

    버전 내역

    R2006a 이전에 개발됨