問題タブ [nonlinear-optimization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5489 参照

matlab - 非線形最小二乗ミカエリス・メンテン パラメーター推定に Matlab を使用する方法

一連の測定値があり、線形近似を作成し始めました (このプロットのように)。パラメーターの線形最小二乗推定と、V_{max}MatlabK_{m}のこのコードから:

これにより、問題なく見えるフィット感が得られます。次に、同じことをしたかったのですが、非線形最小二乗法を使用しました。ただし、フィットは常に間違っているように見えます。その試みのコードは次のとおりです。

これは、M-ファイルでこの関数を必要とします:

コードを実行すると、私の問題が表示されます。しかし、うまくいけば、私とは異なり、私が間違っていることがわかります。

0 投票する
1 に答える
4643 参照

python-2.7 - Pythonで3つの非線形方程式を解く方法

解決する必要がある次の 3 つの非線形方程式のシステムがあります。

-xyt + HF = 0

-2xzt + 4yzt - xyt + 4z^2t - M1F = 0

-2xt + 2yt + 4zt - 1 = 0

ここで、x、HF、および M1F は既知のパラメーターです。したがって、y、z、および t は計算されるパラメーターです。

問題の解決を試みます。

しかし、問題は、使用したい場合はscipy.optimize.fsolve、最初の推測を入力する必要があるということです。私の場合、初期条件はありません。

Pythonで3つの未知数を持つ3つの非線形方程式を解く別の方法はありますか?

編集:

私には条件があることがわかりました!条件は、HF > M1F、HF > 0、および M1F > 0 です。

0 投票する
1 に答える
805 参照

python-2.7 - Pythonでscipy.optimizeを使用した初期推測

pythonを使用してコーディングするには、次の問題があります。

x、y、z、t、HF、M1F、M2F の 7 つのパラメータがあります。ユーザーはこれら 3 つのいずれかを入力する必要があり、プログラムは残りを計算する必要があります。

私が持っている関係は次のとおりです。

問題の解決を試みます。

7 つのパラメーターがあり、ユーザーは 3 を入力する必要があります => 4 つのパラメーターが残ります。つまり、4 つの未知数を持つ 4 つの非線形方程式系を解くことがすべてです。

scipy.optimize非線形方程式系を解くために使用できるオンラインを読みました。しかし、私は最初の推測が必要です。

問題の物理に戻ると、次の初期条件があります。

を使用して問題を解決できるように、これらの初期条件はどのように初期推定を得るのに役立ちますscipy.optimizeか?

0 投票する
3 に答える
1336 参照

r - 任意の制約を伴う R での最適化

Excel で実行しましたが、R で適切なシミュレーションを実行する必要があります。

F(x)関数(xはベクトル) を最小化する必要がありますがsum(x)=1、すべての値が でxあり[0,1]、別の関数であるという制約がありますG(x) > G_0

optimとで試してみましたconstrOptim。それらのどれもあなたにこのオプションを与えません。

0 投票する
1 に答える
779 参照

python - openopt と scipy を使用して動的制約のある非線形最適化システムを解く際のエラー

動的 ( h(x, x', u) = 0 ) 制約 を受ける非線形最適制御問題を解こうとしています。
f
(x) = (u(t) - u(0)(t))^2 # u0(t) は、システムに提供される初期入力
h(x) = y'(t) - 積分(sqrt (u(t))*y(t) + y(t)) = 0 # 非線形微分方程式
-2 < y(t) < 10 # システム状態はこの範囲に限定される
-2 < u(t) < 10 # システム状態はこの範囲に制限されます
u0(t) # 任意の区分線形関数として定義されます

openopt と scipy を使用して、問題を Python コードに変換しようとしました。

問題は、 y0 = 10のように正の初期値 y0 でコードを実行すると、満足のいく結果が得られることです。しかし、y0 = 0または負のy0 = -1を与えると 、nlp 問題は不足し、次のように
述べます 区分的
線形の初期 u0 で、関数 at の最初の範囲に 0 以外の数値を入力すると、次のよう になります 。 何か案は ? 前もって感謝します。t < 3
u0 = np.piecewise(t, [t < 3, and_(3 <= t, t < 6), 6 <= t], [2, lambda t: t - 3, lambda t: -t + 9])

u0 = np.piecewise(t, [t < 3, and_(3 <= t, t < 6), 6 <= t], [0, lambda t: t - 3, lambda t: -t + 9])