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各式运行以后的程序

  • 相关阅读:
    JavaWeb--HttpSession案例
    codeforces B. Balls Game 解题报告
    hdu 1711 Number Sequence 解题报告
    codeforces B. Online Meeting 解题报告
    ZOJ 3706 Break Standard Weight 解题报告
    codeforces C. Magic Formulas 解题报告
    codeforces B. Sereja and Mirroring 解题报告
    zoj 1109 Language of FatMouse 解题报告
    hdu 1361.Parencodings 解题报告
    hdu 1004 Let the Balloon Rise 解题报告
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/3432138.html
Copyright © 2011-2022 走看看