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各式運行以后的程序
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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