Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

empty

创建指定类的空数组

说明

使用 ClassName.empty 创建一个 ClassName 类的 0×0 数组。使用 ClassName.empty(m,0) 创建一个 ClassName 类的 m×0 数组。若要创建空数组并且其数据类型对创建空数组没有特殊语法要求(例如使用 [] 创建双精度数组),则可以使用此函数。

示例

A = ClassName.empty 返回由 ClassName 命名的类的 0×0 空数组。用类的实际名称替换 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

输出参数

全部折叠

空数组,返回为指定维度和方法调用中所用类的空数组。

详细信息

全部折叠

空对象数组的类

可以通过 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

要创建类 ColorInRGB 的空 0×5 数组,请调用空方法:

A = ColorInRGB.empty(0,5);

标识空数组

可以使用 isemptysizelength 函数确定空对象数组。例如,创建在上一节中定义的 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 中推出