exponenta event banner

пустой

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

Описание

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

пример

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

пример

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

пример

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

Примеры

свернуть все

В этом примере показано, как создать пустой символьный массив с использованием измерений по умолчанию 0-by-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

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

свернуть все

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

Подробнее

свернуть все

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

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