Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Определение структуры



Структура – это массив записей с именованными полями, предназначенными для хранения данных; причем поле может содержать данные любого типа: векторы, матрицы, массивы и структуры.

Структуру можно построить двумя способами:

а) используя операторы присваивания;

б) используя функцию 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...