De verdad muchas gracias por tomarte el tiempo de revisar el codigo, en efecto faltaban los puntos,  pero me  esta enviarndo el siguiente mensaje de error: runtimewarning: in value encounted in double_scalars s[step+1]=s[step]+r2s-s2i
 
La forma mas logica que encontre fue colocarlo asi   
Código:
 
for step in range(num_steps):
        if s[step]>9500:
            transmission_coeff=2e-5
        elif s[step]<=9500:
            transmission_coeff=2e-4
        elif s[step]<=4500:
            transmission_coeff=2e-5
        else:
             transmission_coeff=2e-2
        
        s2i = h * transmission_coeff * s[step] * i[step]
        i2r = h / 5. * i[step]
        r2s = h / 2.*r[step] 
        s[step + 1] = s[step] + r2s - s2i
        i[step + 1] = i[step] - i2r + s2i  
        r[step + 1] = r[step] + i2r - r2s
  pero igual me tira el mismo mensaje de error que creo choca con el transmission_coeff que tengo que poner al inicio del codigo para que me jale algun valor el metodo iterativo.  
No se si requiera que defina el bloque de los condicionales como un def coeff():? 
Mil gracias!