Создание массивов ячеек
Массив ячеек – наиболее сложный тип данных в системе MATLAB. Это массив, элементами которого являются ячейки, содержащие любые типы массивов, включая массивы ячеек. Отличительным атрибутом массивов ячеек является задание содержимого последних в фигурных скобках {}. Создавать массивы ячеек можно с помощью оператора присваивания.
Существуют два способа присваивания данных отдельным ячейкам:
- индексацией ячеек;
- индексацией содержимого.
Рассмотрим первый способ. Для этого создадим файл-сценарий с именем се.m:
A(
1.1
)
=
{
'Курить вредно!'
};
A(
1.2
)
=
{[
1
2
;
3
4
]};
A(
2.1
)
=
{
2
+
3i
};
A(
2.2
)
=
{
0
:
0.1
:
1
}
Примечание
Уже отмечалось, что в командном режиме малая русская буква "с" в строках ведет к переводу строки ввода. Однако в m-файлах, создаваемых в редакторе/отладчике М-фай-лов, эта недоработка обычно не проявляется. Хотя гарантии в этом, увы, пока нет.
В этом примере задан массив ячеек с четырьмя элементами: строкой символов, матрицей, комплексным числом и одномерным массивом из 11 чисел. Теперь можно вызвать этот массив:
>
>
ce
A
=
'Курить вредно!'
[
2x2
double]
[
2.0000
+
3.00001
] [
1x11
double]
>
>
A(
1.1
)
ans
=
'Курить вредно!'
>
>
A(
2.1
)
ans
=
[
2.0000
+
3.00001
]
Заметим, что к ячейкам такого массива можно обращаться с помощью индексирования, например в виде А(1.1), А(2.1) и т. д.
При индексации содержимого массив ячеек задается следующим образом:
A{
1.1
}
=
'Курить вредно!'
;
A{
1.2
}
=
[
1
2
:
3
4
];
A{
2.1
}
=
2
+
31
;
A{
2.2
}
=
0
:
0.1
:
1
;
Теперь можно ознакомиться с созданным массивом ячеек в командном режиме:
>
>
A
ans
=
'Курить вредно! '
[
2x2
double]
[
2.0000
+
3.0000i
] [
1x11double
]
>
>
A{
1.1
}
ans
=
Курить вредно!
>
>
A{
2.1
}
ans
=
2.0000
+
3.0000i
При серьезной работе с массивами структур (записей) и массивами ячеек полезно иметь дополнительную информацию о списках значений. Для получения такой информации следует выполнить команду help list.