이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

구조체형 배열 생성하기

이 예제에서는 구조체형 배열을 만드는 방법을 보여줍니다. 구조체는 일명 필드라는 데이터 컨테이너에 관련 데이터를 그룹화하는 데이터형입니다. 각 필드에는 데이터형이나 데이터 크기에 상관없이 데이터가 포함될 수 있습니다.

환자 기록을 name 필드, billing 필드, test 필드로 구성된 스칼라 구조체에 저장합니다.

patient(1).name = 'John Doe';
patient(1).billing = 127.00;
patient(1).test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];
patient
patient = struct with fields:
       name: 'John Doe'
    billing: 127
       test: [3x3 double]

배열 이름 다음에 첨자를 포함시켜 다른 환자의 기록을 배열에 추가합니다.

patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68, 70, 68; 118, 118, 119; 172, 170, 169];
patient
patient = 1x2 struct array with fields:
    name
    billing
    test

배열의 각 환자 기록은 struct 클래스로 이루어진 구조체가 됩니다. 구조체로 구성된 배열을 대개 구조체형 배열이라고 합니다. 다른 MATLAB 배열과 마찬가지로 구조체형 배열은 임의의 차원을 가질 수 있습니다.

구조체형 배열의 속성은 다음과 같습니다.

  • 배열의 모든 구조체는 동일한 개수의 필드를 갖습니다.

  • 모든 구조체는 동일한 필드 이름을 사용합니다.

  • 다른 구조체에 있는 동일한 이름의 필드는 다른 데이터형 또는 다른 크기의 데이터를 포함할 수 있습니다.

배열 내의 새 구조체에서 지정되지 않은 필드는 빈 배열을 갖습니다.

patient(3).name = 'New Name';
patient(3)
ans = struct with fields:
       name: 'New Name'
    billing: []
       test: []

구조체형 배열의 데이터에 액세스하여 첫 번째 환자가 지불해야 할 비용을 알아보고 이 환자의 검사 결과를 막대 그래프로 만듭니다.

amount_due = patient(1).billing
amount_due = 127
bar(patient(1).test)
title(['Test Results for ', patient(1).name])

관련 예제

세부 정보