为特定矩阵元素添加+1

时间:2016-03-21 10:28:21

标签: python matrix vector add

我目前正在为4参数RAINFLOW方法编写算法。这种方法的想法是从循环历史中消除负载循环,循环历史通常在负载(例如力) - 时间图中给出。这是机械工程中经常使用的一种方法,用于确定产品/元件的寿命,该产品/元件暴露在一定数量的负载循环中。

然而,此方法的结果是所谓的FROM-TO表或FROM-TO矩阵,其中行显示FROM,列显示TO编号,如下图所示:

example of from-to table/matrix

这个例子是不现实的,因为你通常会得到一个包含百万个测量点的文件,这意味着,某些周期不会像表中所示的那样只发生一次(1)或两次(2),但它们可能会发生了数千次。

现在问题: 我编写了方法的算法,结果形成了一个带有FROM值的向量和一个带有TO值的向量,如下所示:

vek_from=[]
vek_to=[]
d=len(a)/2

for i in range(int(d)):
    vek_from.append(a[2*i]) #  FROM
    vek_to.append(a[2*i+1]) #  TO

a是具有所有值的向量,例如a = [from,to,from,to,...]

现在我正试图用这个形成一个矩阵,如下所示:

mat_from_to = np.zeros(shape=(int(d),int(d)))
    MAT = np.zeros(shape=(int(d),int(d)))
    s=int(d-1)
    for i in range(s):
        mat_from_to[vek_from[i]-2, vek_to[i]-2] += 1    

所以问题是我不知道如何在加载周期多次出现时编码(它具有相同的from-to值),如何在每次发生时向FROM-TO组合添加+1 ,因为我编码了它,它只用1取代之前的值,所以我永远不会超过1 ...

因此,为了使解释更简短,如何编写每当组合FROM-TO值来确定矩阵中元素的位置时,在那里添加+1 ......

希望我没有让它太复杂,有人会很乐意帮助我。

此致

卢卡

0 个答案:

没有答案