2017-09-28 6 views
0

関数f_integの値を計算しようとしています。これは、関数fを0からx_vに統合した結果です。IndexError:タプルのインデックスが範囲外です。関数を統合しようとしたときにエラーが発生しました。

Traceback (most recent call last): 
    File "untitled.py", line 117, in <module> 
    C = f_integ(1) 
    File "scr1.py", line 110, in f_integ 
    indexes = np.shape(x_array)[0] 
IndexError: tuple index out of range 

私はquad()はタプルを返しますが、私は結果に引数として数を配置する方法を見つけ出すことはできませんことを知っている:私はこれを実行すると、私は次のエラーを取得する

f = lambda x : x + 1 

    def f_integ(x_array): 
     int_result = np.zeros_like(x_array) 
     indexes = np.shape(x_array)[0] 
     for ind in range(indexes): 
      x_v = x_array[ind] 
      int_result[ind] = integ.quad(f, 0.0, x_v)[0] 
     return int_result 

    C = f_integ(1) 
    print "C", C 

統合の私はPythonには新しく、助けてください。

+0

スタックトレースと[mcve]も含めて完全なエラーメッセージを投稿してください。 –

答えて

1

は次のように関数を呼び出します。

C = f_integ(np.array([1])) 
print "C", C 

を現在あなたは、配列、f_integ()に番号を渡していません。 np.shape(x_array)[0]に出会うと、数字の形はちょうど()であるため、空のタプルの場合はインデックス0には何も戻せません。

+0

良いキャッチ。しかし、それはちょうど良い形をしていますが、その形は空のタプルで、IndexErrorをスローします。 –

+0

ああ正しいです。私は私の答えを編集します。 – Antimony

+0

これで動作します!どうもありがとうございました。 – ani87

関連する問題