Иллюстрированный самоучитель по MatLab
Массивы ячеек
-
Массив ячеек – наиболее сложный тип данных в системе MATLAB. Это массив, элементами которого являются ячейки, содержащие любые типы массивов, включая массивы ячеек. Отличительным атрибутом массивов ячеек является задание содержимого последних в фигурных скобках {}.
-
Для создания массива ячеек может использоваться функция cell: | cell(N) – создает массив ячеек из NxN пустых матриц; | cell(M.N) или cell([M,N]) – создает массив ячеек из MxN пустых матриц; | cell(M.N.P,…) или сеll([М N Р…]) – создает массив из MxNxPx… пустых матриц;
-
Для отображения массива ячеек С служит функция celldlsp(C). Она дает рекурсивное отображение содержимого массива ячеек С. Например, для ранее созданного массива ячеек А получится следующее: | >> celldisp(A) | A{1.1}= | Курить вредно!
-
С помощью функции deal возможно множественное присваивание входных данных выходным: | [A.B,C,…]=deal(X,Y,Z,…) – обеспечивает последовательное присваивание входных данных выходным, то есть А=Х, B=Y, C=Z и т. д.; | [A,B,C….]=deal(X) – присваивает единственный вход всем выходам, т. е.
-
При обработке сложных данных возникает необходимость в преобразовании их типов. Ниже представлены такие функции, имеющие отношение к массивам ячеек: | num2cell (A,DIM) – преобразует массив чисел А в массив ячеек, помещая в одну и ту же ячейку элементы, соответствующие одному значению индекса вдоль измерения, указанного параметром DIM.
-
С помощью функции cat можно формировать многомерные массивы ячеек. Например, трехмерный массив С формируется следующим образом (m-файл с именем се2.m): | A{1.1}='Курить вредно!'; | A{1.2}=[1 2:3 4]; | A{2.1}=2+3i; | A{2.2}=0:0.1:1; | B{1.1}='Пить тоже вредно!'; | B{1.2}=[1 2 3 4]; | B{2.1}=2;
-
Содержимым ячейки массива ячеек может быть, в свою очередь, произвольный массив ячеек. Таким образом, возможно создание вложенных массивов ячеек – пожалуй, самого сложного типа данных. | В следующем примере показано формирование массива ячеек А с вложенным в него массивом В (он был создан в примере выше): | >> clear A; | >> A(1.1)=магич(3).{'х̣елло!'}; | >> A(1.2)={B};
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.