我正在尝试向量化以下循环:
a = [1 3 4 8];
b = [3 5 9 10];
n = [];
for k=1:numel(a)
n = [n a(k):b(k)];
end
向量a
和b
的长度相同,但实际上它们很大。我尝试了arrayfun
:
n = arrayfun(@(x)x(1:numel(a)),a:b);
但这会导致以下错误:
索引超出矩阵尺寸
编辑:
刚发现我的错误:
n = arrayfun(@(x,y)[x:y],a,b,'UniformOutput',0);
运行。谢谢大家的支持。