2016-11-08 4 views
0

안녕하세요, 1/225 또는 35/75와 같은 간단한 분수 값을 얻으려고 애썼지 만 0을 계속 유지합니까? 어떤 도움을 주시면 감사하겠습니다!파이썬으로 반환 된 0을 얻지 못하게하는 방법은 무엇입니까?

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

유형 캐스팅을 사용하십시오. 파이썬에서와 마찬가지로 캐스트를 명시 적으로 입력해야합니다. 다음은 당신의 일을 할 것입니다.

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

답변이 더 풍부하고 자세한 설명이있는 중복 된 부분에 회신하는 것을 피하십시오. –

관련 문제