1

我想使用冒号表示法或其他有效方式将现有向量扩展为矩阵。

例如,使用冒号表示法创建一个矩阵,我可以做

< [0:4;5:9]

这会给我

< [
0 1 2 3 4
5 6 7 8 9]

我希望能够使用提供的原始向量和范围做同样的事情。例如,如果我的原始向量是 [1;3] 并且我的范围是现有值周围的 1,我希望获得以下输出:

< [
0 1 2
2 3 4]

我知道我可以使用循环来做到这一点,但我想知道是否有一种方法可以不使用循环。

谢谢。

4

1 回答 1

2

我认为这可以满足您的要求;vec适当地改变range

vec = [1; 3]
range = 1
repmat(vec, 1, range * 2 + 1) + repmat([-range:range], size(vec))
于 2011-02-22T20:50:38.463 回答