我有一个速度数组,我想获得一个位移数组。 要获得每个n的位移,我需要从0到n添加速度[], 所以我试图在数组速度[]中为每个n添加前n个数字,n是从0开始的数组索引。
for (i = 0; i < totalnumber; i++)
{
for (int k = 0; k < i; k++)
{
Xdis[i] += Xvelo[k];
Ydis[i] += Yvelo[k];
Zdis[i] += Zvelo[k];
}
}
上面的循环有效,但问题是它需要太长时间(循环中循环) 我的问题是,C#中是否有任何sum函数可以处理这个而不用于循环? 比如Xdis [i] = Xvelo.sum(i)或者sth?
答案 0 :(得分:4)
为什么不使用已经计算过的结果?不要一直重新求和,只需使用前面的结果:
for (i = 1; i < totalnumber; i++)
{
Xdis[i] = XDis[i-1] + Xvelo[i-1];
Ydis[i] = YDis[i-1] + Yvelo[i-1];
Zdis[i] = ZDis[i-1] + Zvelo[i-1];
}