主要内容

このページの翻訳は最新ではありませ。

配列クラスの判定

クラス名のクエリ

配列配列のクラスをを判定ににはには班级を使使し。

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.はは指定されたクラスから派ししたクラスに対してを返し返しますたとえば,subクラスはINT16组み込み型から派生します。

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

定义により,subクラスのインスタンスはINT16クラスのインスタンスでもあります。

aint =子;isa(aint,'int16'的)
ans = 1

整数カテゴリを使用しした合并も真的が返されます。

isa(aint,'整数'的)
ans = 1

特价の型のテスト

关节有关部班级はオブジェクトの“最派生”クラスクラス名称を返します。

班级(AINT)
ans = subint.

关节有关部Strcmp.を关节班级と共に使用して,オブジェクトの特定のクラスをチェックします。

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

关节有关部班级はクラス名をcharベクトルで返すため,Strcmp.により実行された比较の结果は継承の影响を受けません。

aint =子;StrcMP(类(AINT),'int16'的)
ans = 0.

最派生クラステスト

次の入力を必要とする关数を定义すると仮定します。

  • 马铃薯草®组み込み型

  • matlab组み込み型のサブサブ外户外

次の手法を使用して入力引数から组み込み型のサブクラスを除外します。

  • 关键词前ををだだだを定义含んますだ配列定义します。

  • 关节有关部班级およびStrcmp.を呼び出して,MATLABコントロールステートメント内の特定の型をテストします。

入力量分数をテストますます。

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

型のカテゴリのテスト

双倍的型または单身的型の2つの数码变力をとと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是内置整数类型......结尾