默认值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