И другие программы этой серии
Следующий пример поясняет работу squeeze:
>> A=randn(1,2,1,3,1); >> B=squeeze(A) B =
0.6145 1.6924 -0.6436
0.5077 0.5913 0.3803
Обратите внимание на то, что пятимерный массив A превращается в массив с размерностью 2 и размером 2×3.
5.6. Тип данных – структуры 5.6.1. Структура записей
Структуры относятся к сложным типам данных. В предшествующих версиях MATLAB они именовались записями, что приводило к неточностям в терминологии системы MATLAB и баз данных. После того как в MATLAB были включены средства создания баз данных, этот тип данных стал именоваться структурами (structures). Они могут содержать разнородные данные, относящиеся к некоторому именованному объекту. Например, объект man (человек) может характеризоваться следующими данными:
Поле
Значение
Комментарий
Man(I,...)
Имя записи
.name
Иван
Имя человека
.surname
Петров
Фамилия
.date
1956
Год рождения
.height
170.5
Рост
.weight
70.34
Вес
Первые два столбца представляют схему структуры. Как нетрудно заметить, каждая i-я структура состоит из ряда полей, имеющих имена, например man(i). name, man(i).date и т. д. Поля могут содержать данные любого типа – от пустого поля [ ] до массивов. Приведенная выше структура имеет размер 1×1. MATLAB поддерживает и массивы структур, что позволяет создавать мощные базы данных.
Поле структуры может содержать другую вложенную структуру или массив структур. Это позволяет создавать вложенные структуры и даже многомерные массивы структур.
5.6.2. Создание структур и доступ к их компонентам
Для задания структур на языке MATLAB можно использовать операторы присваивания, что иллюстрирует следующий пример:
>> man.name=\'Иван\';
>> man.surname=\'Петров\';
>> man.date=1956;
>> man.height=170.5;
>> man.weight=70.34;
Здесь построена базовая структура без индексного указателя.
Начало в части 1