• nargin


    nargin

    编辑
    nargin为“number of input arguments”的缩写。 在matlab中定义一个函数时, 在函数体内部, nargin是用来判断输入变量个数的函数。在matlab命令窗口中输入help nargin或者doc nargin即可获得该函数的帮助信息。
     
    中文名
    外文名
    nargin
    定    义
    用来判断输入变量个数的函数
    类    别
    计算机编程
    属    于
    MATLAB函数

    功能

    编辑
    nargin是用来判断输入变量个数的函数,特别是在利用了可变参数列表的函数中, 用nargin获取输入参数个数很方便。

    调用格式

    编辑
    nargin
    nargin(fx)

    函数说明

    编辑
    nargin通过调用当前正在执行的函数返回输入参数的数量,只在函数体内使用nargin语法功能。
    nargin(fx)在函数fx的定义声明中返回输入参数的个数。如果函数包括varargin其定义,那么nargin返回的输入个数为负。例如函数foo输入有 a,b,和varargin三个参数,那么nargin('foo”)返回值为-3。

    应用举例

    编辑
    例1.函数文件 examp.m
    function fout=examp(a,b,c)
    if nargin==1
    fout=a;
    else if nargin==2
    fout=a+b;
    else if nargin==3
    fout=(a*b*c)/2;
    end
    end
    end
    例1.function名为myplot。
    function [x0, y0] = myplot(x, y, npts, angle, subdiv)
      % MYPLOTPlot a function.
      % MYPLOT(x, y, npts, angle, subdiv)
      %The first two input arguments are
      %required; the other three have default values...
      ifnargin< 5, subdiv = 20; end
      ifnargin< 4, angle = 10; end
      ifnargin< 3, npts = 25; end
      ...
      if nargout == 0
      plot(x, y)
      else
      x0 = x;
      y0 = y;
      end
    end
    注:%x,y是两个变量,npt,angle,subdiv这三个参数具有默认值,不需要输入。
      if nargin < 5, subdiv = 20; end如果输入变量的个数小于5个,那么给subdiv赋默认值。
    if nargin < 4, angle = 10; end如果输入变量的个数小于4个,那么给angle赋默认值。
    详细用法 在matlab窗口中输入 help nargin
    例3.
    function foo(argA, argB, argC, varargin)
    fprintf('How many input arguments? %d ', nargin);
    fprintf('The input arguments are: %d %d %d ', argA, argB, argC);
    for k=1:size(varargin, 2)
    disp(varargin{k})
    end
    disp('Done');
    end
    输出结果
    >> foo(1, 2, 3)
    How many input arguments? 3
    The input arguments are: 1 2 3 Done
    >> foo(1, 2, 3, [4, 5, 6])
    How many input arguments? 4
    The input arguments are: 1 2 3 4 5 6
    Done
  • 相关阅读:
    reset内容
    如何在鼠标悬停时图片旁边出现详情说明模块
    从零学习Entity Framework
    一款程序员用的小说下载器
    实习笔记(数据库相关)-2014
    ASP.NET json数据的序列化与反序列化
    不使用服务器控件的ASP.NET
    win7 下先装SQL2005 后装SQL2000 解决方案
    Jquery 插件封装成seajs的模块
    前端模块化实践——seajs的使用
  • 原文地址:https://www.cnblogs.com/xiaoxuesheng993/p/8915857.html
Copyright © 2020-2023  润新知