我目前正在为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 ......
希望我没有让它太复杂,有人会很乐意帮助我。
此致
卢卡