И другие программы этой серии
Присваивание с помощью функции 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 =Привет!
5.8.6. Тестирование имен массивов ячеек
Ввиду обилия типов данных в системе MATLAB часто возникает необходимость их тестирования. Для тестирования массивов ячеек может использоваться функция iscell(C), которая возвращает логическое значение 1, если C – массив ячеек, и 0 в противном случае. Это поясняют следующие примеры:
>> t=iscell(A) t =1 >> B=[1 2 3]; >> iscell(B) ans = 0
5.8.7. Функции преобразования типов данных
При обработке сложных данных возникает необходимость в преобразовании их типов. Ниже представлены такие функции, имеющие отношение к массивам ячеек:
• num2cell(A) преобразует массив чисел A в массив ячеек и возвращает последний. Возвращаемый массив имеет тот же размер, что и исходный массив A;
• num2cell(A,DIM) преобразует массив чисел A в массив ячеек, помещая в отдельные ячейки фрагменты, соответствующим разным значениям индекса вдоль измерения, указанного параметром DIM.
Начало в части 1