問題タブ [nonlinear-functions]

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 に答える
880 参照

python - Pythonで非線形方程式の動的数を解く

FsolveinScipyがこれの正しい候補のようです。方程式を動的に渡すのに助けが必要です。事前にご意見いただければ幸いです。

動的とは、方程式の数が実行ごとに異なることを意味します。たとえば、ある状況では次のようになります。

そして私が持っている別の状況:

alphabetaABCDおよびEはすべて定数です。x、、、yは変数ですzw

0 投票する
2 に答える
1677 参照

math - 非線形連立方程式のシステムを解く方法(Matlab、Python、またはFortran)

私は非線形連立方程式のシステムを見ています。2つの変数はu>0とb>0です。Matlab、Python、またはFortranでこの問題を解決するにはどうすればよいですか?ありがとう。

非線形連立方程式

0 投票する
4 に答える
7417 参照

java - Javaでの非線形多変数関数の制約付き最適化

Javaで非線形多変数関数の制約付き最適化を行うメソッドのオープンソース実装を探しています。

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

algorithm - 非線形関数fが常に正であるかどうかをチェックするためのアルゴリズム

与えられた(おそらく非線形の)関数fが常に正であるかどうかをチェックするアルゴリズムはありますか?

私が現在持っているアイデアは、関数の根を見つけ(ニュートンラプソンアルゴリズムまたは同様の手法を使用して、http://en.wikipedia.org/wiki/Root-finding_algorithmを参照)、導関数をチェックするか、最小値を見つけることです。 fの、しかし、それらはこの問題に対する最良の解決策ではないようです。また、求根アルゴリズムには多くの収束の問題があります。

たとえば、Mapleでは、関数verifyでこれを実行できますが、自分のプログラムで実装する必要があります。検証に関するMapleヘルプ:http://www.maplesoft.com/support/help/Maple/view.aspx? path = verify / function_shells Mapleの例:assume(x、'real'); verify(x ^ 2 + 1,0、'greater_than'); ->trueを返します。すべてのxに対してx^2 +1>0があるためです。

[編集]質問の背景:関数$ f $は、回路の右側の微分非線形モデルです。非線形回路は、修正節点解析(MNA)を適用することにより、常微分方程式のセットとしてモデル化できます。簡単にするために、1次元のシステムのみを考えてみましょう。したがって、$ x'= f(x)$ここで、$ f $は、回路、たとえば$ f$は$f(x)= 10x-100x ^ 2 + 200x ^ 3-300x ^ 4 + 100x ^ 5 $(非線形トンネルダイオードのモデル)または$ f =10-2sinになります。 (4x)+ 3x $(ジョセフソンジャンクションのモデル)。

$ x $は有界であり、$ f$は区間$[a、b] \ inR$でのみ定義されます。$f$は連続です。$ f $がリプシッツ定数L>0のリプシッツであると仮定することもできますが、必要がない限り、そうしたくありません。

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

python - scipyのfsolveで方程式を解く

私は方程式を解こうとしていますf(x) = x-sin(x) -n*t -m0

この方程式では、nおよびm0は属性であり、私のクラスで定義されています。さらに、tは方程式の定数整数ですが、毎回変更する必要があります。

方程式を解いたので、「新しい方程式」を取得します。scipy.optimizeをインポートしました

それを機能させるための修正や提案はありますか?

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

matlab - MATLAB で不適切に定義された多数の非線形方程式を解く

私の問題を説明しようとしますが、最後にいくつかの特定の質問があります。

Matlab でターボ機械の問題を解決するのに問題があります。目標は、既知の物理的測定値と動作条件を使用してタービンの効率を計算することです。これを行うために、私は科学論文で与えられた方程式を使用しています: http://www.sciencedirect.com/science/article/pii/S0196890409003124

私の場合の問題は、効率を知るには、効率に依存する出口ガスパラメータ(温度圧力速度...)が必要なことです。私は主に EES (工学方程式ソルバー) と呼ばれるソフトウェアでこの問題を解決しました。このソフトウェアでは、方程式を任意の順序で記述でき、プログラムがそれらをグループ化して自動的に解決します。プログラムの制限により、問題を拡大することができないため、Matlab に切り替えました。

matlab では、問題を解決するために必要な 2 つの終了パラメーターを除いて、すべての方程式を解決可能な順序で関数として記述することから始めました。2 つの終了パラメーターは、関数への入力として設定されました。2 つの基本方程式 (質量保存と計算された損失) を出力として使用しました。正しい解はこれらの方程式をゼロに設定します。次に、これを fsolve で解決しようとしました。

これは実際にはうまくいかず、解決策を見つけることができませんでした。代わりに、問題のすべての方程式 (27) を matlab に与え、同様の方法でそれらを解こうとしています。これもうまくいきません。(「解が見つかりません。最後のステップが無効だったため、fsolve が停止しました」)。

方程式の中には、いくつかのロジックと if ステートメントがあります。また、さまざまな圧力と温度でのガスのパラメーターを取得するために、流体パラメーター ライブラリを com サーバーとして使用しています。これらはどちらも -inf から +inf への入力を許可しておらず、いくつかの不連続性もある可能性があります...そしてこれが私の問題の理由かもしれません。

したがって、これは典型的なプログラミングの質問ではないと思います。コード自体がどれほど役立つかはわかりません。この問題へのアプローチのアイデアがあれば、それは大いに役立ちます! ただし、いくつかの具体的な質問もあります。

  1. fsolve にパラメーターを送信して、方程式の一部が範囲外であることを伝えることはできますか? (この場合、com-server はエラー メッセージを送信しますが、それを自動的に使用する方法がわかりません。)

  2. fzero と同様に、fsolve に範囲を指定することはできますか?

  3. ゼロベクトルに設定しようとしている関数の結果ベクトルには、非常にさまざまな方程式の結果が含まれているため、値が大きく異なります。誤差許容度も方程式間で大きく異なります。これに対処するスマートな方法はありますか?値を減らすために、正確性の低い方程式の結果を割ったところです。

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

algorithm - Mathematica がNonlinearModelFit[]で使用するフィッティングアルゴリズムは?

独自のプログラムを作成する必要があるため、使用するアルゴリズムを知る必要があります。レーベンバーグ・マルカートは実際には同じことをしていません。Mathematica が特定の問題に使用するアルゴリズムを選択するアルゴリズムのリストのようなものはありますか?

ありがとうございました。

0 投票する
2 に答える
3264 参照

shell - シェル スクリプトの実行後に AppleScript アプリケーションを終了する

Applescript アプリケーションでシェル スクリプトを実行し、シェル スクリプトの実行が完了する前に終了することは可能かどうか疑問に思っていました。これは、一定時間サーバーを実行する場合に役立ちます。AppleScript をバックグラウンドで常に実行する必要がある代わりに、関数を独立して実行する方法はありますか?

上記をアプリケーションとして実行すると、サーバーが正常に起動します。ただし、アプリケーションrunScript.appは引き続き実行されます。AppleScript が強制終了されても、サーバーは実行され続けます。サーバーが起動するとすぐに、自動的に終了する方法はありますか?

ありがとう

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

matlab - Matlab における非線形方程式の交差特性

適用電流に関してプロペラ角速度の Matlab プロットを作成したいと思います。ポイントは、これには相互に依存する 2 つのデータ セットを組み合わせる必要があるということです。

まず、以下のプロットに見られるように、抗力係数c_dは角速度に依存します (式はありません。データのみです)。特性は として簡単に線形化できます。omegac_d(omega)c_d(omega) = p*omega + p_0

次に、印加電流だけでなく抗力係数にもomega依存します。ic_d(omega)

ケースを解決するスクリプトc_d。以下は定数です。Matlab コマンドを使用して、これら 2 つを結合することは何らかの形で可能でなければなりません。助けてくれてありがとう。

ここに画像の説明を入力

編集:

bdecafのソリューションに従おうとしています。だから私は次のc_d_findように関数を作成しました:

私はMatlab関数ハンドルについて何も知りませんが、アイデアを理解しているようです... Matlabコマンドウィンドウで次のように入力しました:

これで正しい関数ハンドルが作成されたと思います。次に何をすればいいですか?以下を実行してもうまくいきません。