АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

MyStruct1( 1 ).data( 1 , 2 )

имеет значение 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-18 | Просмотры: 566 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.003 сек.)