Функции
преобразования типов данных
При обработке
сложных данных возникает необходимость в преобразовании их типов. Ниже представлены
такие функции, имеющие отношение к массивам ячеек:
-
num2cell
(A,DIM) — преобразует массив чисел А в массив ячеек, помещая в одну и ту
же ячейку элементы, соответствующие одному значению индекса вдоль измерения,
указанного параметром DIM. Например, num2cell (A.2) преобразует каждый ряд
массива А в отдельную ячейку. cat(DIM.C{:}) осуществляет обратное преобразование.
-
num2cell
(A) — преобразует массив чисел А в массив ячеек и возвращает последний.
Каждый элемент А превращается в отдельную ячейку. Возвращаемый массив имеет
тот же размер и ту же размерность, что и исходный массив А.
Примеры применения
данных функций:
»
А=[1 2; 3 4: 5 6]
А=
1
2
3
4
5
6
»С=
num2cell(A.2)
С=
[1x2
double]
[1x2
double]
[1x2
double]
»С{1,1}
ans =
1
2
»С{2,1}
ans =
3
4
»С{3,1}
ans =
5
б
» cat(2.C{:})
ans =
1
2 3 4 5 6
ans
=
1
2
3
4
5
6
»
num2cell(A.[l 2])
ans =
[3x2
double]
-
cell2struct(C.
FIELDS. DIM) — преобразует массив ячеек С в массив структур, превращая размерность
DIM массива ячеек С в поля структуры S. Размерность 1 — столбцы. Размерность
2 — строки. FILEDS — массив символов или строковый массив ячеек.
Пример преобразования:
»
С={' Привет! '.123. 2+31}
С
=
'Привет!'
[123] [2.0000+3.00001]
» f={ 'name' , 'number' , 'complex'};
» S=cell2struct(C,f,2)
S =
name:
'Привет! '
number:
1 2 3
complex:
2.0000+ 3.0000i
-
struct2cell
(S) — преобразует массив структур S размером
тхп,
в котором содержатся
р
полей, в массив ячеек, так что возвращаемый массив будет иметь
размер
рхтхп.
Если массив структур многомерный, то возвращаемый массив
ячеек будет иметь размер, равный [р size(S)]. Схему структуры с названиями
полей возвращаемый массив ячеек не содержит. Пример такого преобразования
приводится ниже:
»
C=struct2cellS)
С
=
'Привет!'
[
123]
[2.0000+3.0000i]
Содержание раздела