for循环从第二次循环开始结果不对

一个两层的循环,第一层循环i=2的时候结果就和表达式应该的运算结果不一样了,是定义在类DF里的一个函数,通过向量运算得出结果

void DF::clt()
{
    for (int i = 2; i < at + 1; i++) {
        for (int x = 1; x < ax - 1; x++) {
            v[i][x] = ((1 - r) * v[i - 2][x - 1] + r * v[i - 1][x - 1] + r * v[i - 1][x + 1]) / (1 + r);
        };
    };
}
;

你把向量计算公式贴出来看看
第6和7行大括号后面的分号是不需要的,第9行也不需要分号