matlab:使用冒号表示法扩展向量

时间:2011-02-22 20:47:14

标签: matlab vector matrix colon

我想使用冒号或其他一些有效的方法将现有的向量扩展为矩阵。

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

< [0:4;5:9]

会给我

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

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

< [
0 1 2
2 3 4]

我知道我可以使用循环来做到这一点,但我想知道如果没有循环我是否有办法。

感谢。

1 个答案:

答案 0 :(得分:2)

我认为这可以满足您的需求;适当更改vecrange

vec = [1; 3]
range = 1
repmat(vec, 1, range * 2 + 1) + repmat([-range:range], size(vec))