Массивы структур
Тип данных Структуры
Структуры относятся к сложным типам данных. В предшествующих версиях MATLAB они именовались записями, что приводило к конфликтам в терминологии MATLAB и систем управления базами данных. Этот тип данных стал именоваться структурами после того, как широкое распространение получили средства MATLAB для работы с базами данных с использованием языка запросов Sequential Query Language (SQL).Создание структур и доступ к их компонентам
Для задания структур на языке MATLAB можно использовать операторы присваивания, что иллюстрирует следующий пример: | >> man.name='Иван'; | >> man.surname='Петров': | >> man.date=1956; | >> man.height=170.5; | >> man.weight=70.34; | Здесь построена базовая структура без индексного указателя.Функция создания структур. Проверка имен полей и структур.
Для создания структур используется следующая функция: | struct('field1'.VALUES1, 'field2'.VALUES2,…) – возвращает созданную данной функцией структуру, содержащую указанные в параметрах поля 'fieldn' с их значениями ' VALUESn'. Значением может быть массив ячеек;Функция возврата имен полей. Функция возврата содержимого полей структуры.
Следующая функция позволяет вывести имена полей заданной структуры: | fieldnames (S) – возвращает имена полей структуры S в виде массива ячеек (см. урок 15). Пример: | >> fieldnames(man) | ans = | 'name' | 'surname' | 'date' | 'height' | 'weight'Функция присваивания значений полям. Удаление полей.
Для присваивания полям заданных значений используется описанная далее функция selfield: | setfield(S. 'field',V) – возвращает структуру S с присвоением полю 'field' значения V, что эквивалентно S.field=V; | setfield(S,{i.j}, 'field', {k},V) – эквивалентно S(i,j).field(k)=V.Применение массивов структур
Массивы структур находят самое широкое применение. Например, они используются для представления цветных изображений. Известно, что цветные изображения формата RGB состоят из массивов интенсивности трех цветов – красного R, зеленого G и синего В.