다른 온도에서 진동 파티션 기능을 얻기 위해 파이썬을 사용하고 싶습니다. freq = [100,150,200] (실제로는 .dat 파일 형태로 읽음)과 Temp = np.arange (273., 973., 25)와 같은 두 개의 1D 배열이 있습니다. 이제 qvib = 특정 온도 (1/1-exp (-h * nu/kb/T))에 대한 freq 이상의 제품입니다. 내 루프에 대한 :2 차원 배열을 만들기위한 파이썬 for 루프 2 1D 배열
for i in range(len(T)):
for j in range(len(freq)):
q[i][j]=1/(1-np.exp(-h*freq[j]/kb/T[i]))
Q[i]=np.prod(q[i][:])
나는 2 ~ 3 일 동안 python을 사용하고 있습니다. 나는 심지어 파이썬의 모든 인라인 작업을 모른다. 두 가지 질문이 있습니다 : 1) for 루프를 사용하지 않고도 할 수 있습니까? (sum 또는 no.prod 만 사용하는 것과 같습니다) 2) My for 루프가 작동하지 않습니다. 나는 인터넷에서 검색했지만 수학 연산 의이 유형에 대한 루프 참조에 대한 좋은 발견하지 못했습니다. 친절한 도움을 미리 보내 주셔서 감사합니다.
for i in range(len(T)):
q = 1/(1-np.exp(-h*freq/kb/T[i]))
Q = np.prod(q)
하지만 정말 : 당신이 그것에 할당 할 수 있습니다 전에 :
Q = np.empty(len(T))
더 나은이
어떻게 작동하지 않는가요? ? –
역 추적 (가장 최근 통화 최종) : 파일 "", 3 호선, 나가서 설명하자면 NameError에 : 이름을 'Q'는 나는 내가 Q 및 Q를 선언 할 필요가 있다고 생각 정의되어 있지 않습니다하지만 난 방법을 모르는 그들을 선언하십시오. –
mamun
Q와 Q는 무엇입니까? –