a = 1:20;
b = [2,5;12,16];
我正在寻找一种方法来提取b
行范围内a
中的元素。我试着
bsxfun(@(col1,col2) a(col1:col2), b(:,1), b(:,2))
但是这忽略了b
的第一行。
这是我期望的输出
2 3 4 5 12 13 14 15 16
这个bsxfun
函数使用a
的每一行中定义的值来创建两个不同的向量并将它们连接起来。
a = 1:20;
b = [2,5;12,16];
Range_1 = b(1,:);
Range_2 = b(2,:);
bsxfun(@(Row_1,Row_2) [a(Row_1(1):Row_1(2)) a(Row_2(1):Row_2(2))], Range_1, Range_2)