Python到java代码中的Roberts kaufman公式

2024-09-30 01:29:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为完全可用性系统研究Kaufman Roberts公式,我不熟悉python,我想把一段代码翻译成java,所以它可以帮助我研究Kaufman公式

import numpy as np

def Krauff_rec (V,M,A,T,x, sigma):
   x=[1]
   summ=float(0)
   MinT=[] 
   for i in range(1,v=1):
    ii=0
    for j in T:
        if (j<=i):
            #print (i,"j=  " j, "x=",x)
            summ+=A[ii]*j*x[i-j]*sigma[ii][i-j]

        ii+=1
    x.append(summ/(i))
    summ=0
 x=np.asarray(x) 
 summ=np.sum(x)

 p=[i/summ for i x]
     E=[]

     summ=0
     for i in range (M)
       for j in reange (k*(f-f-T[i]+1),v+1):
         summ+=1-sigma[i][j]

         E.append(summ)
         summ=0
         print(x)
         return[p,E]

         M=int(input("Enter number of class M="))
         k=int(input("Enter number of link k="))
         f=int(input("Enter the capasity per link f="))

         v=k*f
         x=np.asarray(x)
         summ=np.sum(x)
         p=[i/summ for i in x]
         E=[]
         summ=0
         for i in range (M): 
             for j in range(V-T[i]+1,V+1):
                 summ+=P[j]
                 E.append(summ)
                 summ=0
f = open("Results.txt", "W")
f.write("A[i] = "+np.array2string(A))
f.write("\nP[n] = "+str(P))
f.write("\nE[i] = "+str(E))
f.close()

有人能帮我转换成java吗?谢谢


Tags: inforinputnprangejavasigmawrite
1条回答
网友
1楼 · 发布于 2024-09-30 01:29:55

在您发布的代码中,只有少数部分是特定于Python的:

  • range()函数-它是Java中传统的for循环的一种奇特替代。例如,我们可以编写for i in range(0, n),而不是Python中的for(int i=0; i < n; i++)。您可以在documentation for built-in types中找到更多信息

  • p=[i/summ for i x]-它是一个发电机。在Java中没有直接等价物的非常具体的概念。您可以在Python Wiki上浏览生成器

  • 使用了NumPy包中的一些函数。他们的名字不言自明。但同样,只需搜索文档即可

至于the formula,这不是一个容易的选择。因此,最好提出一个关于Mathematics Stack Exchange的理论问题。您将能够在Java中从头开始实现该公式,而不必理解某些人的Python代码,因为这些代码不能保证是正确的

相关问题 更多 >

    热门问题