天天看點

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

  2 4 6

  21

例子,函數test1的功能是輸出a和b的和。如果隻輸入一個變量,則認為另一個變量為0,如果兩個變量都沒有輸入,則預設兩者均為0。

function y=test1(a,b)

if nargin==0

a=0;b=0;

elseif nargin==1

b=0;

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;

x0=x;k=k+1;

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各式運作以後的程式

上一篇: C++ 多态