2016-10-10 25 views
0

関数を最小化するにはどうすればいいですか?[0]と[1]を尊重しますか? 例(これは私がscipyのダウンロードuderstand、numpyのとPYのための簡単な例です):Python、scipy:積分式で多変数関数を最小限にする

l=np.array([0.1,0.2]) 
res=minimize(function,l, method='nelder-mead',options={'xtol': 1e-8, 'disp': True}) 

を私はエラーを取得:

import numpy as np 
from scipy.integrate import * 
from scipy.optimize import * 
def function(a): 
    return(quad(lambda t: ((np.cos(a[0]))*(np.sin(a[1]))*t),0,3)) 

私が試してみました。 私は結果をmatlabで取得します。

あなたは誰が本当に問題が何であるかを知るための質問に十分な情報が含まれていないので、これは、単なる推測です事前

+2

*「エラーが発生します。」*完全なエラーメッセージを表示してください。 –

+1

'chirplet'は' function'と同じですか?また、関数を 'l'で積分し、積分を最小にするために' a'を変えたいですか? – mommermi

答えて

2

感謝。エラーを生成するコードに関する質問をするたびに、質問に完全なエラーメッセージを必ず含めてください。理想的には、問題を再現するために実行できるminimal, complete and verifiable exampleを含める必要があります。現在、functionを定義していますが、後で未定義関数chirpletを使用します。そうすれば誰もあなたの問題を理解するのが少し難しくなります。積分の推定値、及び積分絶対誤差の推定:

scipy.integrate.quad 2つの値を返す...と述べました。 functionでこれを考慮していないようです。

def function(a): 
    intgrl, abserr = quad(lambda t: np.cos(a[0])*np.sin(a[1])*t, 0, 3) 
    return intgrl 
+1

私はまた、問題の原因となった実際のコードを含めるとも言います。私はOPが** chirplet **ではなく彼/彼女のコードで** function **を呼び出すと思う。 –

+1

@BillBellはい。私はMCVEを含めるよう提案しました。 –

+0

ウォーレン・ヴェッケッセー私は申し訳ありませんが、あなたは正しいです。問題は、解決のためにあなたを特定したことです。 – plus91

関連する問題