Matlab中的参数定义

Matlab中的参数定义

写在前面

Matlab是一种非类型化语言,大多数函数都不需要参数声明或验证。但是为了保证程序的通用性和按照预期工作,对参数进行验证是非常有必要的。

参数量验证

参数量验证是为了验证输入输出参数的数量

  • 所用到的函数
% 可变长度输入参数列表
varargin
% 函数输入参数数目
nargin
% 验证输入参数数目
narginchk
% 可变长度的输出参数列表
varargout
% 函数输出参数数目
nargout
% 验证输出参数数目
nargoutchk

实际使用

  • varargin可变长度输入参数列表,用在函数声明的最后一个参数,表示函数可接受任意长度参数输入,并且以1*N的元组形式存储。

  • varargin 是函数定义语句中的一个输入变量,允许函数接受任意数量的输入参量。使用小写字符指定 varargin。在任何显式声明的输入项后,附加 varargin 作为最后一个输入参量。

    在执行函数时,varargin 是一个 1×N 元胞数组,其中 N 是函数在显式声明的输入后收到的输入项数。如果该函数在显式声明的输入后未收到任何输入,则 varargin 是空元胞数组。

    % 将输入参数进行累加
    function sum = mySum_varargin(varargin)
        disp("输入参数总量:" + nargin)	% 输入参数的总量
        sum = 0;
        for i = 1 : length(varargin)
            sum = sum + varargin{
         i};	% 元组可通过{i}访问元素
        end
    end
    
    %% 调用
    mySum_varargin(1.2,2.5,pi)
    
  • nargin

    % nargin 在函数内部当作变量使用返回输入参数的数量
    function sum=mySum(a,b)
    	nargin % 这里 nargin = 2
        sum = a + b;
    end
    
    % nargin('mySum') 返回函数mySum输入参数的数量,注意这里是函数字符串
    % nargin() 若返回负数,则表示输入参数是可变参数,如-1:第一个参数是参数数, -3:第三个参数是可变参数
    nargin('mySum')
    
    
    % nargout 在函数内部
    
    
    
    
  • narginchk(minArgs,maxArgs)验证当前执行的函数调用中的输入参量数目。如果调用中指定的输入数目小于 minArgs 或大于 maxArgsnarginchk 将引发错误。如果输入数目在 minArgsmaxArgs 之间(包括二者),则 narginchk 不会执行任何操作。

    % 将输入参数进行累加
    function sum = mySum_varargin(varargin)
        disp("输入参数总量:" + nargin)	% 输入参数的总量
        narginchk(2,5); % 输入参数数量的小于2大于5
        sum = 0;
        for i = 1 : length(varargin)
            sum 

相关推荐

  1. Matlab参数定义

    2024-04-07 09:40:01       42 阅读
  2. Vue定义参数校验

    2024-04-07 09:40:01       47 阅读
  3. PyTorch定义可学习参数

    2024-04-07 09:40:01       53 阅读
  4. C#如何定义参数EventHandler?

    2024-04-07 09:40:01       32 阅读
  5. C#引用参数

    2024-04-07 09:40:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 09:40:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 09:40:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 09:40:01       87 阅读
  4. Python语言-面向对象

    2024-04-07 09:40:01       96 阅读

热门阅读

  1. Mybatis

    Mybatis

    2024-04-07 09:40:01      32 阅读
  2. 简易通讯录管理系统:C语言实现及代码详解

    2024-04-07 09:40:01       36 阅读
  3. http请求处理相关注解、cookiesession

    2024-04-07 09:40:01       36 阅读
  4. 面试前端八股文十问十答第九期

    2024-04-07 09:40:01       32 阅读
  5. 2024.4.6学习笔记

    2024-04-07 09:40:01       35 阅读
  6. ip命令

    2024-04-07 09:40:01       39 阅读
  7. 蓝桥杯每日一练

    2024-04-07 09:40:01       31 阅读
  8. PHP radis 分布式缓存简单示例

    2024-04-07 09:40:01       35 阅读