Teraz wpisanie
>> patient
w linii poleceń spowoduje wyświetlenie name: 'John Doe'
billing: 127 test: [3x3 double]
Struktura patient jest macierzą zawierającą strukturą złożoną z trzech pól. Aby rozszerzyć macierz struktury wystarczy dodać indeks tuż za nazwą struktury, patient(2).name = 'Ann Lane'; patient(2).billing = 28.50;
patient (2) .test = [68 70 68; 118 118 119; 172 170 169]; Teraz wymiary macierzy struktury patient wynoszą [1 2]. Należy zauważyć, żc od momentu kiedy macierz struktury posiada więcej niż jeden element, MATLAB przestaje wyświetlać indywidualną zawartość pól, po wpisaniu nazwy macierzy. Zamiast tego, pokazuje opis rodzaju informacji, jakie zawiera dana struktura: patient patient =
1x2 struct array with fields: name billing test
W celu uzyskania tych informacji możemy także użyć funkcji f ieldnames. która daje wynik w postaci macierzy komórek złożonej z łańcuchów zawierających nazwy pól.
W miarę rozszerzania struktury, MATLAB wypełnia nieopisane pola pustymi macierzami, tak że:
- wszystkie struktury wewnątrz macierzy mają taką samą liczbę pól,
- wszystkie pola mają te same nazwy pól.
Na przykład wprowadzenie patient (3). name = 'Alan Johnson' rozszerza rozmiar macierz patient do wymiarów [1 3], Teraz pola patient (3) .billing oraz patient (3). test zawierają puste macierze.
Inna metoda realizacji tej operacji to wpisanie: patient (3 ) = struct ('name', 'Alan Johnson', 'billing', [ ],'test',[ ])
UWAGA! Wymiary pól nie muszą być takie same dla każdego elementu macierzy. W przykładzie patient, pola name mogą posiadać różne długości, pola test mogą być macierzami o różnych wymiarach, itd.
89