0
における多変数方程式を最適化、cは定数です。は、私は、フォームの式を有するパイソン
私は、a、b、cの最適値を探したいと思います。これをPythonで行う最良の方法は何でしょうか? optimize.curve_fit
は、3つではなく2つの変数でのみ動作します。
における多変数方程式を最適化、cは定数です。は、私は、フォームの式を有するパイソン
私は、a、b、cの最適値を探したいと思います。これをPythonで行う最良の方法は何でしょうか? optimize.curve_fit
は、3つではなく2つの変数でのみ動作します。
退縮していますか?その場合は、二つ以上の変数のoptimize.curve_fit
作品は、あなただけのリストとしてあなたの変数を渡す必要があります。
def line(x, a, b, c):
return a * x[0] + b * x[1] + c
from scipy.optimize import curve_fit
import numpy as np
x = np.random.uniform(0., 100., 100)
y = np.random.uniform(0., 200., 100)
z = 3. * x + 2. * y + np.random.normal(0., 10., 100)
popt, pcov = curve_fit(line, [x, y], z)
print(popt)
結果:
array([ 2.99156418, 2.00992449, -0.2434515 ])
変数の実数はありますか?その場合、 'a'と' b'の歌に応じて 'x'と' y'は常に正の無限大または負の無限大になります... –
このアプリケーションに "最適"を定義するものは何ですか? – Prune
はい、これは回帰の問題です。 'x'、 'y'、 'z'は既知のデータなので、既知の 'z'と 'ax + by + c'の差を最小限にしようとしています – 218