Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
имеет значение 2.5, так как в поле data расположены числовые матрицы 2x2.
Если же требуется групповая операция копирования содержимого одноимённого поля всех элементов массива структур, то здесь решение менее очевидно:
v = [ MyStruct1.data ];
Применение прямоугольных скобок обязательно, так как над значениями полей отдельных элементов производится операция конкатенации, которая в системе MATLAB и обозначается прямоугольными скобками. В результате такой операции переменная v становится матрицей 2x4 (если учесть ранее введённые значения).
Для удаления некоторого поля из всех элементов созданного массива структур применяют функцию rmfield:
MyStruct2=rmfield(MyStruct2,'field2');
После этого в массиве структур MyStruct2 остаётся только поле field1.
В качестве содержимого некоторого поля структуры может выступать другая структура, то есть структуры могут быть вложенными. В качестве имени вложенной структуры выступает имя поля объемлющей структуры:
Outer.number = 1;
Outer.inner.name='name1';
Outer.inner.data=[ 5 3; 7 8];
Здесь Outer - имя внешней (объемлющей) структуры, а inner - имя внутренней структуры, являющейся полем структуры Outer. Для чтения числового данного, стоящего во второй строке первого столбца (поле data), применяем выражение
Дата публикования: 2015-01-23; Прочитано: 235 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!