Иллюстрированный самоучитель по MatLab

Присваивание с помощью функции deal. Тестирование имен массивов ячеек.

С помощью функции deal возможно множественное присваивание входных данных выходным:

  • [A.B,C,…]=deal(X,Y,Z,…) – обеспечивает последовательное присваивание входных данных выходным, то есть А=Х, B=Y, C=Z и т. д.;
  • [A,B,C….]=deal(X) – присваивает единственный вход всем выходам, т. е. А=Х, В=Х, С=Х и т. д.

Возможен ряд полезных применений функции deal:

  • [S.FIELD]=deal (X) – присваивает всем полям FIELD структуры S значения X. Если S не существует, то нужно использовать конструкцию [S(1:M)*.FIELD]= deal(X);
  • [X{:}]=deal (A. FIELD) – копирует поля FIELD структуры А в массив ячеек X. Если X не существует, следует использовать конструкцию [X{1:M}]=deal (A.FIELD);
  • [A,B,C,…]=deal (X{:}) – копирует содержимое массива ячеек X в отдельные переменные А, В, С,…;
  • [A,B,C,…]=deal(S.FIELD) – копирует содержимое поля FIELD массива структур S в отдельные переменные А, В, С,…;

Следующий пример иллюстрирует применение функции 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 и iscellstr вы всегда можете использовать для тестирования массивов ячеек функцию (имя объекта, 'cell') и команду whos имя объекта. – Примеч. ред.]. Для тестирования массивов ячеек может использоваться функция isсеll(С), которая возвращает логическое значение 1, если С – массив ячеек, и 0 в противном случае. Это поясняют следующие примеры:

>> t=iscell(A)
t =
1
>> B=[1 2 3];
>> iscell(B)
ans=
0
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.