MATLAB中的函数参数验证

MATLAB中的函数参数验证

函数参数的基本原理是:”函数从调用命令中接受某些输入,这些输入适用于函数语法并对其进行处理,有时可能产生也可能不产生输出参数,这完全取决于函数的效率或你代码的准确性。

功能参数

值和定义的被调用的函数之间的通信,使用调用参数或参数,被称为函数参数。而使用验证过程来声明对函数参数的具体限制的技术或方式被称为函数参数验证。

在编程中,有两种类型的论证被认为是—

1.实际参数 – 这是一种被调用的函数,在调用时使用,就像我们传递的任何参数,都被称为实际参数。
2.形式论据 – 一个包含某些操作的定义函数被称为形式论据。

函数验证的块语法

函数在一个特定的代码块中定义了参数,也就是所谓的语法。因此,下面我们以函数块的语法为例,它有助于减少函数错误。

function validateFunction( inputArgument) 

arguments 

inputArgument 

%% Specify the size, className,Function and default values. 

end 

% Function code 

end 
MATLAB

因此,正如你在这里看到的,我们采取了一个正式的参数(参数)函数。函数名称是一个验证过的函数,将根据要求传递相同的输入参数。之后,我们要声明参数里面的语句,就像我们想通过函数执行的大小、类名函数和默认值一样。

当我们在编辑器中写代码时,函数参数验证有一些标准,所以我们必须确保参数声明可以包括如下所示的各种限制。

1.尺寸 – 每个维度的长度应该用括号()括起来,它指定了非负整数或冒号(:)。
2.类 – 在MATLAB中,当我们定义类时,它应该在一个词中。它可以是一个char,字符串,或用户定义的类。
3.函数 – 在参数里面,我们可以使用一些函数,这些函数应该用大括号括起来{ fnc1, fnc2, ……, fancy}。

所以,让我们先来看看如何找到函数参数的数量,你只需使用MATLAB工具来运行以下程序。

我们有两种类型的数字参数验证

参数验证中的nargin。

nargin指的是参数输入的数量,使用(nargin)switch case,我们根据所提供的输入数量执行一条语句。

示例 1:

%% Find the number of function argument
% using Number of argument 
% inputs MATLAB program
function c = addme(a,b)
switch nargin
case 2
c = a + b;
case 1
c= a + a;
otherwise
c = 0;
End
MATLAB

输出:

>> addme(42)
    ans = 84

 >> addme(2,4000)
    ans = 4002

 >> addme
    ans = 0    
MATLAB

参数验证中的nargout。

nargout指的是输出的参数数,即确定用户要求的输出数量。

示例 2:

% Find the number of function argument 
% using number of argument 
% output MATLAB program
function [result,absResult] = addme2 (a, b)
switch nargin
case 2 
result = a + b;
case 1 
result = a + a;
otherwise 
result = 0;
end 
if nargout > 1
absResult = abs(result);
End
MATLAB

输出:

 >> value = addme2(11, -22)
       value = -11
 >> [value, absValue] = addme2(11, -22)
       value = -11
       absValue = 11
MATLAB

验证函数参数的数量

我们也可以让一个自定义函数检查它是否收到了有效数量的输入或输出。MATLAB会自动执行一些参数检查,对于其他参数,我们有检查(nargin)检查和(nargout)检查。在函数定义中定义了一些输入的情况下,MATLAB会检查函数是否收到比预期更多的参数。

示例 3:

% MATLAB Code
function [x , y] = myFunction( a,b,c)
[x , y] = myFunction(1,2,3,4)
MATLAB

输出:

Error using myFunction
Too many input arguments.
MATLAB

在上面的例子中,myFunction的定义清楚地定义了它将只接受三个预期的输入参数。因此,如果我们传递超过三个参数,MATLAB会出现错误,所以我们必须确保我们通过函数定义传递多少个参数。

函数参数验证的例子

这里我们举一个定义重复位置输入参数的例子,这种参数可以向一个函数调用重复零次或多次。因此,在这个程序中RepeatFunction函数接受重复参数a、b和style。在函数中a和b为向量的双值,而限制style为字符串”-“和”:”。

在MATLAB编辑器中写一个程序-

% MATLAB Code
function RepeatFunction(a,b,style)
arguments(Repeating)
a(1,:)double
b(1,:)double
style{mustBeMember(style,["--",":"]}
end
x = reshape([a;b;style],1,[]);
if ~isempty(x)
plot(x{:});
   end
end
MATLAB

输出:

MATLAB中的函数参数验证

在命令窗口中写完所有需要的输入后,我们再次点击回车,然后我们将得到重复函数参数程序的数字输出。

MATLAB中的函数参数验证

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册