nargin是用來判斷輸入變量個數(shù)的函數(shù),這樣就可以針對不同的情況執(zhí)行不同的功能。通常可以用他來設(shè)定一些默認值,如下面的函數(shù)。
函數(shù)文件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)
執(zhí)行mydemo.m 后的輸出是:
ans =
1 2 3
ans =
2 4 6
ans =
21
?
例子,函數(shù)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('已達迭代次數(shù)上限'); end
disp(['k=',num2str(k)])
這是一個迭代求方程解的Matlab程序,請問if nargin<4,N=500;end和if nargin<3,ep=1e4;end這兩個語句在這個程序中起什么作用?
NARGIN表示輸入變量的個數(shù),程序中的意思是如果輸入?yún)?shù)小于4個,則N默認為500,如果輸入?yún)?shù)小于3個,默認輸入?yún)?shù)EP=1E4
這就是說輸入的變量式4各的時候是那樣運行,輸入變量式3各式運行以后的程序
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
