在我的函数unstable_L(T1,T2,z1,z2,z3,z0h,z0m,U)
中有8个输入参数。
我想创建这个函数,其中有5个必需的输入和3个可选输入,如果用户不填写,可选值将是我设置的默认值。我该怎么做?我的编码有错误吗?
nargin = 8;
if nargin > 8
disp (" the function unstable_L_new has only maximum of 8 input paramaters")
else
% Fill in unset optional values.
switch nargin
case 5
if isempty(z0h)
z0h = 0.005;
elseif isempty(z0m)
z0m = 0.005;
elseif isempty(U)
U = 2.0;
end
case 6
if isempty(z0m)
z0m = 0.005;
elseif isempty(U)
U = 2.0;
end
case 7
if isempty(U)
U = 2.0;
end
end
end
我理解您的问题的方式是,您的最后三个参数z0h
、z0m
和U
是可选的。
你可以通过检查他们是否exist
来实现这一点
function unstable_L(T1,T2,z1,z2,z3,z0h,z0m,U)
if (~exist('z0h', 'var'))
z0h = 1;
end
if (~exist('z0m', 'var'))
z0m = 0.005;
end
if (~exist('U', 'var'))
U = 2.0;
end
% rest of function