默認值default value
對于用戶沒有傳遞參數值時給函數進行自動賦給該參數的值?
比如上述的例子中,阻尼系數,用戶通常不清楚,可以由系統給出更為合適。怎么做到呢??
可以結合MATLAB的一個函數nargin,它能給出函數輸入參數的個數。?
與if
或switch相結合,可以實現函數的參數默認值的賦值??
M文件代碼如下??
function v = freefallvelt( t,m,cd )
%UNTITLED5 Summary of this function goes here
%?? Detailed explanation goes
heres
witch
nargin
case
0
error('Must enter time and
mass')
case
1
error('Must enter
mass')
case
2
cd=0.27;
endg=9.81;
disp(sqrt(g*m/cd)*tanh(sqrt(g*cd/m)*t))
end
運行測試代碼如下:?
>>
freefallvelt(12,68.1,0.25)
50.6175
>>
freefallvelt(12,68.1)
48.8747
>> freefallvelt(12)
??? Error using ==> freefallvelt at 8
Must enter mass
>> freefallvelt()
??? Error using
==> freefallvelt at 6
Must enter time and mass
>> nargin('freefallvelt')
ans =
3