Формула Робертса Кауфмана в Python код до java - PullRequest
0 голосов
/ 18 июня 2020

Я работаю над формулой Кауфмана-Робертса для систем полной доступности, и я не знаком с python и хочу перевести фрагмент кода в java, чтобы он мог помочь мне в моем исследовании формулы Кауфмана .

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 спасибо.

1 Ответ

0 голосов
/ 02 июля 2020

В опубликованном вами коде всего несколько штук: Python -specifi c:

  • range() функция - это своего рода навороченная замена традиционному for l oop дюйм Java. Например, вместо for(int i=0; i < n; i++) в Python мы можем написать for i in range(0, n). Дополнительную информацию можно найти в документации для встроенных типов .

  • p=[i/summ for i x] - это генератор. Довольно конкретная концепция c без прямого эквивалента в Java. Вы можете изучить генераторы на Python Wiki .

  • Используются некоторые функции из пакета NumPy. Их имена говорят сами за себя. Но опять же, просто выполните поиск в документации.

Что касается формулы , это непростой выбор. Так что лучше будет задать теоретический вопрос по Mathematics Stack Exchange . Вы сможете реализовать формулу с нуля в Java вместо того, чтобы понимать чей-то код Python, правильность которого не гарантируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...