0

これは私がやろうとしていることです:

数値的に積分された配列 (データ範囲全体にわたって) を、特定の積分範囲にわたって "quad" 積分関数で除算します。

maxw = lambda t,en: exp(-en/(kB*t)) # where the following is inside a loop through t values, and B is a data array with the same dimension as en
aa=[]
cc=[]
A=B*maxw(t,en) 
aa.append(trapz(A,en)) # integrate numerically
cc.append(quad(lambda energ: exp(-energ/kB*t),e0,inf)) # integrate fn over range e0, inf
#end of loop in t    
dd=array(aa)/array(cc)

エラーが発生します:「オペランドは形状(n)(n、2)と一緒にブロードキャストできませんでした」およびnはtループの長さです

別の言い方をすれば、ループ内の「t」の値ごとに、(1) trapz を使用して一連の数値データを統合し、それを配列に変換します。(2)特定の制限の間でクワッドを使用して関数を統合し、これも配列に変換します。次に、(3) 1 つの配列を別の配列で除算して、最終的な配列を取得します。

明らかに何かが欠けています。どうすればいいですか?

4

0 に答える 0