2016-07-26 2 views
0

모든 n이 주어진 경우 규칙에 따라 n 개의 숫자를 변경하는 함수 RC (n)을 만들었습니다. 함수는 다음과 같습니다.파이썬을 사용하여 함수를 그릴 수 없습니다.

def cfr(n): 
    return len(str(n))-1 


def n_cfr(k,n): 
    J=str(k) 
    if "." in J: 
     J2=J.replace(".", "") 
     return J2[n-1] 
    else: 
     return J[n] 

def RC(n): 
    if "." not in str(n): 
     return n+1 
    sum=0 
    val=0 
    for a in range(1,cfr(n)+1): 
     O=(int(n_cfr(n,a)))*10**(-a+1) 
     if int(n_cfr(n,a))==9: 
      val=0 
     else: 
      val=O+10**(-a+1) 
     sum=sum+val 
    return sum  

이 함수는 n의 정수가 아닌 값에 대해 그려야합니다. 친구가 나에게 그가 다른 기능에 사용이 코드를했다하지만 나를 위해 작동하지 않는 것 :

def draw(f,a,b,res): 
import numpy as np 
import matplotlib.pyplot as plt 
    x=[a+(b-a)*i/res for i in range(0,res)] 
    y=[f(elm) for elm in x] 
    plt.plot(np.asarray(x), np.asarray(y)) 
    plt.show() 

나는 누군가가 나에게 도움을 줄 수있는 그래서 파이썬을 사용하여 기능을 플로팅에 익숙하지 않은거야? 함수의 행이 rangex = list(range(a, b, res)) 처음 두 인수해야한다 사전

답변

1

에 덕분에 startstop 있습니다.

+0

여전히 함수에 대한 코드 (RC라고 함)를 입력하고 그리면 (RC, 1,10,10) 모두 흰색 그래프가 표시됩니다. 아무 것도하지 않고 그릴 때 (RC, 1,100,10) 올 때 일어나는 일은 양의 정수에서만 작동하는 것처럼 직선입니다 – Peterix

+0

10의 분해능으로 1에서 10까지하면 아무것도 반환되지 않습니다. 'b-a ekipmanager