Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Структура – это массив записей с именованными полями, предназначенными для хранения данных; причем поле может содержать данные любого типа: векторы, матрицы, массивы и структуры.
Структуру можно построить двумя способами:
а) используя операторы присваивания;
б) используя функцию struct.
Для того чтобы сформировать простейшую структуру размера 1х1, необходимо присвоить данные соответствующим полям. Система MATLAB автоматически формирует структуру по мере ее заполнения.
Функция struct имеет следующий синтаксис:
str_array=struct('<имя_поля1>’,'<значение1>','<имя_поля2>','<значение2>',...).
Используя индексацию, можно легко определить значение любого поля или элемента структуры. Точно также можно присвоить значение любому полю или элементу поля. Чтобы обратиться к некоторому полю, необходимо ввести точку (.) после имени структуры, за которым должно следовать имя поля.
Непосредственная индексация – это, как правило, наиболее эффективный способ определить или присвоить значение полю записи. Однако если использовалась функция fieldnames и известно имя поля, то можно воспользоваться функциями setfield и getfield.
Функция getfield позволяет определить значение поля или элемента поля:
f = getfield(array, {array_index}, 'field', {field_index})
где аргументы array_index и field_index задают индексы для структуры и поля; они не являются обязательными для структуры размера 1х1. Результат применения функции getfield соответствует элементу следующей структуры
f = array(array_index).field(field_index);
По аналогии функция setfield позволяет присваивать значения полям, используя обращение следующего вида:
f = setfield(array, {array_index}, 'field', {field_index}, value)
Выполнение операций с полями и элементами полей абсолютно аналогично операциям с элементами обычного числового массива. В обоих случаях надо использовать индексные выражения.
Для обработки структур со специфической архитектурой полей могут понадобиться специальные функции обработки полей и их элементов. При написании М-файлов для обработки структур необходимо помнить, что пользователь должен сам выполнить анализ возникновения возможных ошибок, связанных с обработкой полей.
Дата публикования: 2015-10-09; Прочитано: 318 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!