答案 0 :(得分:2)
anonymous function是定义函数的简便方法。它接受输入参数(pos
和len
)并生成结果。
一般格式为:
func = @(input,arguments)some_action(input, arguments)
这会创建一个名为func
的匿名函数,然后通过传递输入参数来使用(就像任何其他函数一样)
value1 = 1;
value2 = 2;
output = func(value1, value2)
上面例子中等效的长形函数将是:
function output = func(input, arguments)
output = some_action(input, arguments);
end
因此,考虑到这一点,我们可以将您问题中的匿名函数分解为正常函数
function output = rect2rng(pos, len)
output = ceil(pos):(ceil(pos) + len-1);
end
因此,基于此,它使用pos
将ceil
舍入到最接近的整数,然后从此舍入值开始创建一个长度为len
的数组。
因此,如果我们传递一些测试输入,我们就可以看到它的实际效果。
rect2rng(1.5, 3)
%// [2 3 4]
rect2rng(1, 3)
%// [1 2 3]
rect2rng(10, 5)
%// [10 11 12 13 14]