Funkcja struct umożliwia zdefiniowanie macierzy struktury. Jej forma podstawowa wygląda następująco
str_array = struct(fields)
fields jest wypełnioną macierzą łańcuchów lub macierzą komórek, zawierających nazwy pól struktury i ich zawartości. Przy takim zapisie, funkcja struct inicjuje każde pole macierzy w postaci macierzy pustej. Możemy także użyć zapisu: str_array = struct (' fieldl' , 'vall', 'field2', 'val2',...) gdzie argumentami są nazwy pól i ich wartości. Przykładowo, możemy użyć funkcji struct w celu utworzenia macierzy patient:
patient = struct (’name ', ’John Doe'billing', 127.00,...
'test', [797573; 180178177.5; 220210205]) ; Funkcja struct inicjuje każdą strukturą wraz z określonymi wartościami jej pól. Możemy modyfikować wartości pól oraz rozszerzać macierz używając instrukcji przypisania, tak jak zostało to pokazane wcześniej.
Istnieje możliwość dołączania pól do każdej struktury wewnątrz macierzy, poprzez dołączenie pola do pojedynczej struktury. Na przykład aby dodać pole numeru ubezpieczenia społecznego do macierzy patient, należy użyć wyrażenia takiego jak to
patient(2).ssn = '000-00-0000';
Teraz patient (2) .ssn posiada przypisaną wartość. Każda inna struktura tej macierzy także posiada pole ssn, ale pola tc zawierają macierze puste, dopóki nic będą przypisane im konkretne wartości.
Można usunąć dane pole z każdej struktury wewnątrz macierzy struktury za pomocą funkcji rmfield. Jej podstawowa forma to:
struc2 = rmfield(array, 'field') gdzie array oznacza macierz struktury, a ' field' jest nazwą usuwanego pola. Na przykład, aby usunąć pole name z macierzy patient. należy' wprowadzić polecenie
patient2 = rmfield(patient, 'name');
W celu określenia wymiarów macierzy struktury lub dowolnego pola struktury stosowana jest funkcja size. Gdy podana jest nazwa macierzy struktury jako argument, funkcja size podaje wektor składający sią z wymiarów macierzy. Jeśli podano argument w formie array (n) .field, funkcja size określa wektor zawierający rozmiary zawartości pola.
Na przykład dla macierzy struktury patient o wymiarach 3 na 1, funkcja size (patient) daje wektor [3 !]. Wyrażenie size (patient (2 , 1) .name) powoduje wyświetlenie długości łańcucha pola name dla elementu (2, 1) macierzy patient.
90