主要内容

确定数组类

查询类名

要确定数组的类,请使用班级功能:

a = [2,5,7,11];班级(a)
ans = diple.
str ='字符数组';班级(str)
ans = char.

测试数组类

isa.功能使您可以测试特定类或数字类别(数字漂浮整数):

a = [2,5,7,11];ISA(A,'双倍的'
ans = 1

浮点值(单个和双精度值):

ISA(A,'漂浮'
ans = 1

数值(浮点和整数值):

ISA(A,'数字'
ans = 1

ISA为子类返回true

isa.对于从指定类派生的类返回true。例如,sub类从内置类型中派生int16

Classdef.subint 方法功能obj = subint(数据)如果nargin == 0 data = 0;结尾obj = obj @ int16(数据);结尾结尾结尾

根据定义,一个实例sub班级也是一个例子int16班级:

aint = subint;isa(aint,'int16'
ans = 1

使用整数类别也退货真的

isa(aint,'整数'
ans = 1

测试特定类型

班级函数返回的名称大多数派生对象的类:

班级(AINT)
ans = subint.

使用Strcmp.用来的功能班级检查特定类的函数:

a = int16(7);Strcmp(类(a),'int16'
ans = 1

因为这班级函数将类名返回为achar向量,继承不会影响所执行的比较结果Strcmp.

aint = subint;Strcmp(类(AINT),'int16'
ans = 0.

测试大多数派生类

如果您定义需要输入的函数,则

  • 马铃薯®内置类型

  • 不是Matlab内置类型的子类

使用以下技术从输入参数中排除内置类型的子类。

  • 定义包含函数接受的内置类型的名称的单元格数组。

  • 称呼班级Strcmp.在MATLAB控制语句中测试特定类型。

测试输入参数:

如果StrcMP(类(Inputarg),'单身的'%呼叫功能别的Inputarg =单(Inputarg);结尾

测试类型类别

假设您创建了MEX函数,mymexfcn.,这需要两个必须是类型的数字输入双倍的或者单身的

Outarray = mymexfcn(a,b)

定义包含字符数组的单元格数组双倍的单身的

floattypes = {'双倍的''单身的'};
%测试适当类型如果任何(strcmp(strcmp(a),floattypes))&&......任何(strcmp(strcmp(b),floattypes))Outarray = mymexfcn(a,b);别的%尝试转换输入以避免错误......结尾

另一个测试内置类型

Isobject.从内置类型的子类分离内置类型。这Isobject.函数返回错误的对于内置类型的实例:

%创建一个INT16数组a = int16([2,5,7,11]);Isobject(a)
ans = 0.

确定数组是否是内置整数类型之一:

如果ISA(A,'整数')&&〜isobject(a)%A是内置整数类型......结尾