我想编写一个函数,它将 finite 参数列表作为输入参数,并返回另一个输出参数列表。或者,该函数应该采用一个参数,一个包含必要参数的数组,并返回另一个包含输出参数的数组。最后,该函数应该与输入和输出的所有组合一起使用,否则会抛出错误
注意:输入和输出参数都是相同的类型(double
)。
例如,请考虑以下函数:
function [e, f, g, h] = example( a, b, c, d )
if nargin == 1
input = a; % I rename `a` for clarity
a = input(1);
b = input(2);
c = input(3);
d = input(4);
end
% Generate e, f, g, h from a, b, c, d
if nargout == 1
output = [e, f, g, h]; % I work with `output` for clarity, but the output
e = output; % variable is `e`
end
end
我想称之为:
[e, f, g, h] = example(a, b, c, d)
[e, f, g, h] = example(input)
output = example(a, b, c, d)
output = example(input)
,其中
input = [a, b, c, d]
output = [e, f, g, h]
那么,定义具有不同“签名”的函数的正确方法是什么?我觉得我实施它的方式可以大大改善。