2016-11-08 65 views
0

嗨那裏試圖只獲得像1/225或35/75簡單分數值,但它不斷返回零?任何幫助,將不勝感激!如何停止在Python中返回零?

mymatrix=[[0,1,1],[1,0,1],[1,1,0]] 
uu=len(mymatrix) 
initials_ss=[[150],[300],[100]] #Your initial population size suceptibles 
initials_zz=[[5],[15],[555]] #Your initial population size zombies 
initials_rr=[[0],[0],[0]] #Your initial population size removed 
s_n=np.matrix(initials_ss) #Initial value suceptibles vector 
z_n=np.matrix(initials_zz) #Initial value zombie vector 
r_n=np.matrix(initials_rr) #Initial value removed vector 

z_nn=np.array(initials_zz) 
ss=np.sum(s_n,axis=0) 
zz=np.sum(z_n,axis=0) 
rr=np.sum(r_n,axis=0) 

N=ss+zz+rr 
NN=1/N[0] 
tt=np.zeros((uu,uu),int) 
np.fill_diagonal(tt,NN) 
print(tt) 
print(NN) 
u=np.diag(z_n[:,0]) 
t=NN*(u*s_n) 
print(t) 

所以當你試圖找到NN你在對角線上的填補零的矩陣,但它應該有分數的值是多少?

+2

你可以發佈你的代碼,所以我們可以看到你是如何試圖實現它? –

回答

-1

使用類型鑄造。和python一樣,你必須明確地鍵入cast。 以下將做你的工作。

In [92]: float(1)/float(225) 
Out[92]: 0.0044444444444444444 

In [95]: float(1)/225 
Out[95]: 0.0044444444444444444 

In [96]: 1/float(225) 
Out[96]: 0.0044444444444444444 
+1

鑄造分子或分母就足夠了。 –

+2

避免回答明顯重複的答案更豐富,更詳細。 –