![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание массива символьных ячеек из массива строкСодержание книги
Поиск на нашем сайте
Для создания из массива символов S строкового массива ячеек может использоваться функция cellstr(S). Каждый ряд массива символов превращается в отдельную ячейку. Следующий пример поясняет применение функции cellstr: >> S={'Привет' 'дорогой' 'друг'}; >> C=cellstr(S) C = 'Привет' 'дорогой' 'друг' Это еще один способ формирования массивов ячеек. Функция iscellstr(C) равна 1, если ее аргумент С – строковый массив ячеек, и 0, если это неверно. Присваивание с помощью функции deal С помощью функции deal возможно множественное присваивание входных данных выходным: • [A,B,C,…]=deal(X,Y,Z,…) обеспечивает последовательное присваивание входных данных выходным, то есть A=X, B=Y, C=Z и т. д.; • [A,B,C,…]=deal(X) присваивает единственный вход всем выходам, то есть A=X, B=X, C=X и т. д. Возможен ряд полезных применений функции deal: • [S.FIELD]=deal(X) присваивает всем полям FIELD структуры S значения X. Если S не существует, то нужно использовать конструкцию [S(1:M).FIELD]=deal(X); • [X{:}]=deal(A.FIELD) копирует поля FIELD структуры A в массив ячеек X. Если X не существует, следует использовать конструкцию [X{1:M}]=deal(A.FIELD); • [A,B,C,…]=deal(X{:}) копирует содержимое массива ячеек X в отдельные переменные A, B, C, …; • [A,B,C,…]=deal(S.FIELD) копирует содержимое поля FIELD массива структур S в отдельные переменные A, B, C, …. Следующий пример иллюстрирует применение функции deal: >> [X,Y,Z]=deal(1,2+3i,'Привет!') X = 1 Y = 2.0000 + 3.0000i Z =Привет! >> [X Y Z]=deal(“Привет!”) X =Привет! Y =Привет! Z =Привет! Тестирование имен массивов ячеек Ввиду обилия типов данных в системе MATLAB часто возникает необходимость их тестирования. Для тестирования массивов ячеек может использоваться функция iscell(C), которая возвращает логическое значение 1, если C – массив ячеек, и 0 в противном случае. Это поясняют следующие примеры: >> t=iscell(A) t = 1 >> B=[1 2 3]; >> iscell(B) ans = 0 Функции преобразования типов данных При обработке сложных данных возникает необходимость в преобразовании их типов. Ниже представлены такие функции, имеющие отношение к массивам ячеек: • num2cell(A) преобразует массив чисел A в массив ячеек и возвращает последний. Возвращаемый массив имеет тот же размер, что и исходный массив A; • num2cell(A,DIM) преобразует массив чисел A в массив ячеек, помещая в отдельные ячейки фрагменты, соответствующим разным значениям индекса вдоль измерения, указанного параметром DIM.
Примеры применения данной функции: >> A=[1 2; 3 4; 5 6] A = 1 2 3 4 5 6 >> num2cell(A,2) ans = [1x2 double] [1x2 double] [1x2 double] >> num2cell(A,[1 2]) ans = [3x2 double] • cell2struct(C,FIELDS,DIM) преобразует массив ячеек C в массив структур вдоль размерности DIM, сохраняя размер массива C по этой размерности в записи структуры. Размерность 1 – столбцы. Размерность 2 – строки. Пример преобразования: >> C={'Привет!',123,2+3i} C = 'Привет!' [123] [2.0000+ 3.0000i] >> f={'name','number','complex'}; >> S=cell2struct(C,f,2) S = name: 'Привет!' number: 123 complex: 2.0000+ 3.0000i • struct2cell(S) преобразует массив структур S размером m х n, в котором содержатся p полей, в массив ячеек, так что возвращаемый массив будет иметь размер p х m х n. Если массив записей многомерный, то возвращаемый массив будет иметь размер, равный [p size(S)]. Пример такого преобразования приводится ниже: >> C=struct2cell(S) C = 'Привет!' [ 123] [2.0000 + 3.0000i]
Многомерные массивы ячеек Создание многомерных массивов ячеек С помощью функции cat можно формировать многомерные массивы ячеек. Например, трехмерный массив C формируется следующим образом (m-файл с именем ce2.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; B{2,2}=2*pi; C=cat(3,A,B); Теперь можно просмотреть данный массив, имеющий две страницы: >> ce2 >> C C(:,:,1) = 'Курить вредно!' [2x2 double] [2.0000+ 3.0000i] [1x11 double] C(:,:,2) = 'Пить тоже вредно!' [1x4 double] [ 2] [ 6.2832] Этот многомерный массив можно просмотреть с помощью команды cellplot(С). Полученный результат показан на рис. 2, где многомерный массив отображается как стопка страниц. Рис. 2. Отображение трехмерного массива ячеек командой cellplot
Доступ к ячейкам многомерных массивов очевиден и поясняется следующими примерами: >> C(1,1,1) ans = 'Курить вредно!' >> C(1,1,2)+ ans = 'Пить тоже вредно!'
Вложенные массивы ячеек Содержимым ячейки массива ячеек может быть, в свою очередь, произвольный массив ячеек. Таким образом, возможно создание вложенных массивов ячеек – пожалуй, самого сложного типа данных. В следующем примере показано формирование массива ячеек A с вложенным в него массивом B (он был создан в примере выше): >> clear A; >> A(1,1)={{magic(3),{'Hello!'}}}; >> A(1,2)={B}; >> A ans = {1x2 cell} {2x2 cell}
>> A{1} ans = [3x3 double] {1x1 cell} >> A{2} ans = 'Пить тоже вредно!' [1x4 double] [ 2] [ 6.2832] >> cellplot(A) На рис. 3 показано отображение массива A с вложенным в него массивом B. В данном случае вложенный массив отображается полностью как часть массива A.
Рис. 3. Графическое представление массива с вложенным в него другим массивом Урок 6
|
||||||
Последнее изменение этой страницы: 2016-04-23; просмотров: 341; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.36.89 (0.007 с.) |