empty

Создайте пустой массив указанного класса

Описание

Использование ClassName.empty чтобы создать массив ClassName 0 на 0 класс. Использование ClassName.empty(m,0) чтобы создать массив m-на-0 из ClassName класс. Эта функция полезна для создания пустых массивов типов данных, которые не имеют специального синтаксиса для создания пустых массивов, таких как [] для двойных массивов.

пример

A = ClassName.empty возвращает пустой массив класса 0 на 0 с именем ClassName. Замените ClassName с фактическим именем класса.

пример

A = ClassName.empty(sz1,...,szN) возвращает пустой массив с заданными измерениями. По крайней мере, одна из размерностей должна быть 0.

пример

A = ClassName.empty(sizeVector) возвращает пустой массив с заданными измерениями. По крайней мере, одна из размерностей должна быть 0. Используйте этот синтаксис, чтобы задать пустой массив того же размера, что и существующий пустой массив. Передайте значения, возвращенные size функция как входы.

Примеры

свернуть все

В этом примере показов, как создать пустой символьный массив с помощью размерностей по умолчанию 0 на 0.

A = char.empty
A =

  0x0 empty char array

В этом примере показано, как создать пустую int16 массив с ненулевыми размерностями. Задайте размерности 5 на 0 в качестве входов для empty способ.

Aint = int16.empty(5,0)
Aint =

  5x0 empty int16 matrix

Используйте размер существующего пустого массива, чтобы создать массив того же размера.

Aint = int16.empty(5,0);
Bdouble = double.empty(size(Aint))
Bdouble =

  5x0 empty double matrix

Входные параметры

свернуть все

Размерности массива, заданные как целые числа. По крайней мере, одна размерность должно быть 0. Отрицательные значения рассматриваются как 0. Последующие измерения 1 не включаются в размер массива

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Вектор размерностей, заданный как вектор-строка неотрицательных целых чисел. По крайней мере, один элемент должен быть 0. Отрицательные значения рассматриваются как 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Выходные аргументы

свернуть все

Пустой массив, возвращенный как пустой массив заданных измерений и класса, используемого в вызове метода.

Подробнее о

свернуть все

Класс пустого объектного массива

The empty метод позволяет вам инициализировать массивы определенного класса:

C = char.empty(0,7)

C =

   Empty matrix: 0-by-7

disp(class(C))
char

Инициализация массива с пустыми скобками ([]) создает пустой массив классов double:

a = [];
disp(class(a))
double

Можно инициализировать пустой массив определяемого пользователем класса. Например, пустой статический метод является скрытым методом RGBColor класс, заданный здесь.

classdef ColorInRGB
   properties
      Color (1,3) = [1,0,0];
   end
   methods
      function obj = ColorInRGB(c)
         if nargin > 0
            obj.Color = c;
         end
      end
   end
end

Чтобы создать пустой массив классов 0 на 5 ColorInRGB, вызовите пустой метод:

A = ColorInRGB.empty(0,5);

Идентифицируйте пустые массивы

Вы можете использовать isempty, size, и length функции для идентификации пустых объектных массивов. Например, создайте пустой массив ColorInRGB класс, заданный в предыдущем разделе.

A = ColorInRGB.empty(0,5);
isempty(A)
ans =

  logical

   1
size(A)
ans =

     0     5
length(A)
ans =

     0

Конкатенация и индексация пустых массивов

Пустые массивы следуют поведению конкатенации массива. Например, создайте пустой массив ColorInRGB класс, заданный в предыдущем разделе, и для нового массива путем объединения образцов в другой массив.

A = ColorInRGB.empty(0,5);
B = [A A]
B = 

  0×10 ColorInRGB array with properties:

    Color

Вы не можете индексировать в пустой массив.

B(0,3)
Index in position 1 is invalid. Array indices must be positive integers or logical values.

Совет

  • empty является скрытым, публичным, статическим методом всех неабстрактных MATLAB® классы. Можно переопределить empty метод в определениях классов.

См. также

| |

Введенный в R2008a