4.8数字对象的判断函数

从于变量的类型可能在执行程序期间发生变化,因此可能需要在运行时进行类型检查。这样做还可以根据输入的类型更改函数的行为。举个例子,这个天真的实现防抱死制动系统如果是实数,则返回输入的绝对值;如果是复数,则返回输出的长度。

函数a=abs(x)如果(isreal(x))a=符号(x).*x;elseif(iscomplex(x))a=sqrt(实数(x)^2+imag(x)^2.endifend函数

以下函数可用于确定变量的类型。

 
: tf = isnumeric (x)

如果返回truex是一个数字对象,即整数、实数或复数数组。

逻辑数组和字符数组不被视为数字数组。

详见: isiteger, isfloat, 以色列, iscomplex, ischar, 不合逻辑的, isstring, iscell, isstruct, isa.

 
: tf = islogical (x)
: tf = isbool (x)

如果返回truex是一个逻辑对象。

编程说明:isbool是的别名不合逻辑的并且可以互换使用。

详见: ischar, isfloat, isiteger, isstring, 非数字字符, isa.

 
: tf = isfloat (x)

如果返回truex是一个浮点数字对象。

double或single类的对象是浮点对象。

详见: isiteger, ischar, 不合逻辑的, 非数字字符, isstring, isa.

 
: tf = isreal (x)

如果返回truex是一个非复数矩阵或标量。

为了与兼容MATLAB,这包括逻辑矩阵和特征矩阵。

详见: iscomplex, 非数字字符, isa.

 
: tf = iscomplex (x)

如果返回truex是一个复值数值对象。

详见: 以色列, 非数字字符, ischar, isfloat, 不合逻辑的, isstring, isa.

 
: tf = ismatrix (x)

如果返回truex是2-D数组。

矩阵是任何类型的数组,其中ndims(x2.以及为此大小x)退货[M,N]具有非负M和N。

详见: isscalar, isvector, iscell, isstruct, issparse, isa.

 
: tf = isvector (x)

如果返回truex是一个向量。

向量是任意类型的2-D数组,其中一个维度等于1(1xN或Nx1)。从于这个定义,1x1对象(标量)也是向量。

详见: isscalar, ismatrix, iscolumn, isrow, 大小.

 
: tf = isrow (x)

如果返回truex是一个行向量。

行向量是任何类型的二维数组大小x)退货[1,N]具有非负N。

详见: iscolumn, isscalar, isvector, ismatrix, 大小.

 
: tf = iscolumn (x)

如果返回truex是列向量。

列向量是任何类型的二维数组大小x)退货[N,1]具有非负N。

详见: isrow, isscalar, isvector, ismatrix, 大小.

 
: tf = isscalar (x)

如果返回truex是标量。

标量是任何类型的单个元素对象大小x)退货[1, 1].

详见: isvector, ismatrix, 大小.

 
: tf = issquare (x)

如果返回truex是二维正方形数组。

方形数组是任何类型的二维数组大小x)退货[N,N]其中N是非负整数。

详见: isscalar, isvector, ismatrix, 大小.

 
: tf = issymmetric (A)
: tf = issymmetric (A, tol)
: tf = issymmetric (A, "skew")
: tf = issymmetric (A, "skew", tol)

如果返回trueA是在从指定的公差内的对称或斜对称数字矩阵tol.

默认公差为零(使用更快的代码)。

可通过附加输入指定要检查的对称性类型非闪烁(默认)用于规则对称或歪曲放弃对称性。

背景:如果矩阵的转置等于原始矩阵,则矩阵是对称的:A== A..如果给定公差,则对称性从标准A- A.',Inf)/标准(A,Inf)<tol.

如果矩阵的转置等于原始矩阵的负,则矩阵是斜对称的:A== -A.。如果给出了环礁,则通过以下公式确定斜对称性:标准A+ A.',Inf)/标准(A,Inf)<tol.

详见: 伊舍尔米阶, 非定长岩.

 
: tf = ishermitian (A)
: tf = ishermitian (A, tol)
: tf = ishermitian (A, "skew")
: tf = ishermitian (A, "skew", tol)

如果返回trueA是埃尔米特或斜埃尔米特数字矩阵,在从指定的公差内tol.

默认公差为零(使用更快的代码)。

可通过附加输入指定要检查的对称性类型非闪烁(默认)对于常规Hermitian或歪曲抛弃埃尔米特人。

背景:如果矩阵的复共轭转置等于原始矩阵,则矩阵是埃尔米特矩阵:A== A。如果给定公差,则计算为标准A- A,Inf)/标准(A,Inf)<tol.

如果矩阵轴的复共轭转置等于原始矩阵的负,则矩阵是斜埃尔米特矩阵:A== -A。如果给定了环礁,则计算为标准A+ A,Inf)/标准(A,Inf)<tol.

详见: 不对称的, 非定长岩.

 
: tf = isdefinite (A)
: tf = isdefinite (A, tol)

如果返回trueA是在从指定的公差内的对称正定数字矩阵tol.

如果tol被省略,使用的公差100*eps*标准(A,“fro”).

背景:正定矩阵的特征值都大于零。半正定矩阵的特征值都大于或等于零。矩阵A如果以下两个条件适用于极小的公差,则很可能是正半定的tol.

非定长岩(A) ⇒ 0有限(A5.tol, tol) ⇒ 1.

详见: 不对称的, 伊舍尔米阶.

 
: tf = isbanded (A, lower, upper)

如果返回trueA是一个数值矩阵,其条目限制在降低主对角线下方的对角线,以及上面的对角线在主对角线之上。

降低上面的必须是非负整数。

详见: isdiag, istril, istriu, 带宽.

 
: tf = isdiag (A)

如果返回trueA是对角线数字矩阵,其被定义为a2-D数组,其中主对角线上方和下方的所有元素都为零。

详见: isbanded, istril, istriu, diag, 带宽.

 
: tf = istril (A)

如果返回trueA是下三角数字矩阵。

下三角矩阵仅在主对角线及以下具有非零项。

详见: istriu, isbanded, isdiag, 颤音, 带宽.

 
: tf = istriu (A)

如果返回trueA是一个上三角数字矩阵。

上三角矩阵只有在主对角线和上方才有非零项。

详见: isdiag, isbanded, istril, triu, 带宽.

 
: tf = isprime (x)

返回一个逻辑数组,该数组为true,其中的元素为x是素数,在不是素数的地方是false。

素数通常被定义为大于1的正整数(例如,2,3,…),它只能被自身和1整除。Octave将此定义扩展为包括负整数和复数值。如果负整数的正整数是素数,那么它就是素数。这相当于isprime(abs(x)).

如果x)是复数,则在高斯整数的域中测试素性(https://en.wikipedia.org/wiki/Gaussian_integer).一些非复整数在一般意义上是素数,但在高斯整数域中不是素数。例如5=(1+2i)*(1-2i)显示5不是素数,因为它有一个除自身和1之外的因子。在同一矩阵中同时测试复数和实数时要小心。

示例:

isprime(1:6)⇒  0  1  1  0  1  0
isprime([i,2,3,5])⇒  0  0  1  0

编程说明:isprime适合所有人x在abs范围内(x)<2^64铸造输入大于燧石uint64.

对于较大的输入,如果安装并加载了符号包,请使用“sym”:

isprime(sym('587453897092982525390450')+(0:4))⇒  0  1  0  0  0

兼容性说明:MATLAB不扩展素数的定义,并且如果给定负数或复数输入,则会返回错误。

详见: 素数, 因素, gcd, lcm.

 
: tf = isuniform (v)
: [tf, delta] = isuniform (v)

如果实际向量为true,则返回truev是均匀间隔的并且是假的。

如果平均差为(希腊字母表的第4个字母)在所有元素之间是相同的,在的公差范围内4*eps(最大(腹肌(v))).

可选输出希腊字母表的第4个字母是元素之间的一致差异。如果向量不均匀,那么希腊字母表的第4个字母NaN. 希腊字母表的第4个字母与属于同一类v用于浮点输入,classdouble用于整数、逻辑和字符输入。

编程注意事项:对于空输入或标量输入的特殊情况,输出总是false。如果有任何元素NaN那么输出为false。如果希腊字母表的第4个字母小于计算的相对公差,则为的绝对公差eps使用。

详见: linspace, 冒号.

如果您不想知道变量的属性,而是想知道定义了哪些变量,并收集有关工作空间本身的其他信息,详见变量的状态.


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号