zoukankan      html  css  js  c++  java
  • nargin函数的用法

      nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。

    函数文件examp.m:
    function fout=charray(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


    命令文件mydemo.m:
    x=[1:3];y=[1;2;3];
    examp(x)
    examp(x,y')
    examp(x,y,3)


    执行mydemo.m 后的输出是:
    ans =
      1 2 3
    ans =
      2 4 6
    ans =
      21

    例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。

    function y=test1(a,b)
    if nargin==0
    a=0;b=0;
    elseif nargin==1
    b=0;
    end
    y=a+b;

    function x=maiter(phi,x0,ep,N)
    %x=chat3_ex3maiter(inline('x-(x-exp(-x))/(1+x)'),0.5,1e-5,400)
    if nargin<4,N=500;                                                                      end
    if nargin<3,ep=1e4;                                                                        end
    k=0;
    while k<N
    x=f(phi,x0);
    if abs(x-x0)<ep
    break;
    end
    x0=x;k=k+1;
    end
    if k==N,warning('已达迭代次数上限');                                                            end
    disp(['k=',num2str(k)])

    这是一个迭代求方程解的Matlab程序,请问if nargin<4,N=500;end和if nargin<3,ep=1e4;end这两个语句在这个程序中起什么作用?

    NARGIN表示输入变量的个数,程序中的意思是如果输入参数小于4个,则N默认为500,如果输入参数小于3个,默认输入参数EP=1E4

    这就是说输入的变量式4各的时候是那样运行,输入变量式3各式运行以后的程序

  • 相关阅读:
    D365: 笔记(VS无法打开表浏览器)
    D365: 笔记(跟踪调试批处理代码)
    D365: 笔记(非批处理执行class中弹出交互式窗体或报表)
    D365: 笔记(现有量增加批号表字段查询条件)
    D365: 新功能(二)采购发票自动化流程
    D365: 新功能(一)按日期设置编号规则
    ES6 入门教程(未完)
    深入理解TypeScript(未完)
    项目
    vue + threejs 项目踩坑总结
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/3432138.html
Copyright © 2011-2022 走看看