【问题标题】:change the indexing of a vector in matlab在matlab中更改向量的索引
【发布时间】:2016-04-01 10:45:30
【问题描述】:

假设有一个向量

 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函数来完成这个吗?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    (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 基索引即可。

    【讨论】:

      猜你喜欢
      • 2013-12-16
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多