在matlab中更改向量的索引

时间:2016-04-01 10:45:31

标签: matlab

假设有一个向量

 v = [1 2 3];

在MATLAB中。我正在做一个需要非因果信号的信号处理操作,所以我基本上要求的是从-1开始的向量,即我需要这样做

v[-1] = 1
v[0] = 2
v[1] = 3

与通常的MATLAB索引不同,即

v[1] = 1
v[2] = 2
v[3] = 3

有办法做到这一点吗?有人可以写一个matlab函数来完成这个吗?

1 个答案:

答案 0 :(得分:3)

(a)这不是通常的MATLAB索引,您不能使用[]括号来索引您使用()括号。 (b)不可能,但您可以使用中间翻译功能模拟行为,如:

f = @(x)x+2

现在

v(f(-1)) == v(1) == 1
v(f(0)) == v(2) == 2
v(f(1)) == v(3) == 3
Gnovice的

This answer向您展示了如果您真的想要更改基本索引的方法。但老实说,除非你有一个非常令人信服的理由,否则这将是一个非常可怕的想法。坚持使用1-base索引。