2014-05-19 3 views
0

피크 세트 (엔탈피 대 시간 등온 적정 열량 측정 데이터)에서 각 피크를 기준으로 삼을 수있는 코드를 작성하는 데 도움이 필요합니다.파이썬 : 피크 세트에서 각 피크를 선형으로 기준으로 정하는 방법

데이터는 ITC 장비에 의해 이와 같은 방식으로 생성됩니다 (여기서 '@ #'는 피크의 시작을 의미하고 데이터는 시간 [초], 엔탈피 [ucal/s] 및 온도 [deg . C 있지만 불필요한 보통)]이 일정하게 유지 될 때 :

@0 
2.00,13.585249,25.00761 
4.00,13.585438,25.00699 
6.00,13.585557,25.00688 
8.00,13.585472,25.00804 
@1,6.0000 
302.00,13.607173,25.00958 
304.00,13.607608,25.00931 
306.00,13.607758,25.00965 

피크 100 점 이상도있다 (I)는 상기 한을 단축 한, 및 I는 각각 0으로 선형 방정식을 통합하려는 엔탈피 값을 각 피크에서 구할 수 있도록 각 피크를 통합하여 결합 플롯을 생성 할 수 있습니다. 어떤 도움이나 충고도 환영합니다. 고맙습니다!

+0

인가 : 나는 (이 ITC에서와 같은 괜찮은 적합 라인에 충분합니다 첫 번째 점과 마지막 40 점을 가정) 미래의 선형 피팅 봉우리를베이스 라인해야 할 수도 있습니다 사람에게 여기를 떠나 적절한 형식으로 값을 읽거나 값에 모델을 맞추는 데 문제가 있거나 값을 누적 하시겠습니까? – Midnighter

+0

"각 피크를 기준으로 삼거나"각 엔탈피 값을 0으로 설정하는 것을 의미합니까? 이 두 구절은 제게 불분명하며, 당신의 (화학적) 배경이없는 사람들 (전문 용어)을위한 것일 수도 있습니다. 또한 이미 시도한 적이 있습니까? –

+0

* baseline *은 주어진 피크에 대한 각 판독 값 그룹의 두 번째 열 (엔탈피)의 최소값을 찾으 시려는 것입니까? – mtadd

답변

0

나는 그것을 할 수 있었다. 대답 한 사람들에게 감사드립니다!

#defining function to calculate baseline of peaks in x vs y graph 
def calc_baseline(x,y): 
    zeroed_y=[] 
    for n in range(len(y)): 
     line_y=array(y[n][0:1]+y[n][-41:-1]) 
     line_x=array(x[n][0:1]+x[n][-41:-1]) 
     p=scipy.polyfit(baseline_x,baseline_y,1) 
     baseline_y=array(x[n])*p[0]+p[1] 
     zeroed_y.append(baseline_y) 
    return zeroed_y 

#defining function to zero baselines of peaks in x vs y graph, assuming number_injections is a known integer 
def zero_baseline(number_injections,y,zeroed_y): 
    zeroed_y_lists=[] 
    for i in range(0,number_injections+1): 
     zeroed_y=y[i]-zeroed_y[i] 
     zeroed_y_lists.append(zeroed_y) 
    return zeroed_y_lists