fs
通过读取* .csv文件,我得到了一个numpy数组。它的大小为(606,),数据类型为float64。
示例我的原始数据
i M(i) dM(i)
1 0.0012 0.00013
2 0.00015
3 0.00016
4 0.00018
现在我的阵列中的每个元素应该这样计算:M(i) = M(i-1) + dM(i-1)*t
。
t是10的常数。
M(2)
会M(2) = M(1) + dM(1)*t = 0.0012 + 0.00013*10 = 0.0025
M(3)
会M(3) = M(2) + dM(2)*t = 0.0025 + 0.00015*10 = 0.004
我手动计算了一些值。
i M(i) dM(i)
1 0.0012 0.00013
2 0.0025 0.00015
3 0.004 0.00016
4 0.0056 0.00018
我的想法只是为数组中的每个项目编写一个for循环,但是计算似乎是错误的。fs是数组,并且t
是特定的时间间隔。t
是常数,值为10
# Ms(t)
def mass(t, fs):
M_st = 0
for i in fs
M_st = M_st + i*t
return M_st
sum = mass(10,fs)
使用内置函数cumsum
(a
是您的数组):
a.cumsum()
#[ 1 4 8 13 19 26]
UPDATE:基于OP的编辑岗位上(t
是标量和M
和dM
是数组需要注意的是蟒蛇索引是基于零和。不是一个为主):
M(0) + (dM*t).cumsum()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句