mustBeFinite
验证值是有限值
说明
示例
验证值不为 NaN 或 Inf
使用 mustBeFinite
验证任何数组元素均不为 NaN
或 Inf
。
d = 0:9; A = 1./d; mustBeFinite(A)
Value must be finite.
被 d
除使得一个元素变成 Inf
,因而引发了错误。
将属性限制为有限值
该类将 Prop1
的值限制为有限值。
classdef MyClass properties Prop1 {mustBeFinite} end end
创建一个对象,并向其属性赋值。
d = 0:9; obj = MyClass; obj.Prop1 = 1./d;
Error setting property 'Prop1' of class 'MyClass'. Value must be finite.
当您向属性赋值时,MATLAB 会使用赋给属性的值调用 mustBeFinite
。mustBeFinite
将引发错误,因为值被 0
除的结果是 Inf
。
将函数参数限制为有限值
此函数声明一个输入参数,该参数必须为不包含 Inf
或 NaN
元素的双精度向量。
function s = mbFinite(x) arguments x (1,:) double {mustBeFinite} end n = length(x); m = sum(x)/n; s = sqrt(sum((x-m).^2/n)); end
使用不满足 mustBeFinite
要求的输入调用该函数会引发错误。
values = [12.7, 45.4, 98.9, Inf, 53.1]; s = mbFinite(values);
Error using mbFinite s = mbFinite(values); ↑ Invalid input argument at position 1. Value must be finite.
输入参数
提示
mustBeFinite
用于属性和函数参数验证。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2017a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)