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

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