問題タブ [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 に答える
5364 参照

math - 数学で非線形連立方程式を解く

Mathemticaで非線形連立方程式を解こうとしています。SolveとNSolveを試しました。また、方程式を簡略化するためにa_{ij}とb_{ij}とm33= 1の数値を定義しようとしましたが、Mathematicaが長すぎるか、何か間違ったことをしているようです。Mathematicaでは解決策を見つけようとしています。 、しかし、コードでこれを行うには、c / c++libも必要です。

「演算子」の主な方程式:

ここで、「演算子」は遠近法変換です。

Mathematicaでの私の入力:

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

wolfram-mathematica - 数学非線形方程式ソルバー

Mathematica を使用して以下の x の方程式を解く必要があります。基本的に、x の数値、A、B、K、a および b の範囲が必要です。

Ax^(-a)+Bx^(-ab)=K

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

python - Python で行列形式の非線形連立方程式を解く

AX=X の形式の非線形連立方程式を解こうとしています。ここで、

A = M 行 M 列の行列

X = M 行 1 列の行列

したがって、合計で M (=200) 個の方程式 (および M 個の未知数) があります。

すなわち、

A = [f11(x,y) f12(x,y) .... f1m(x,y),

X = [V1、

したがって、X には M-2 の未知数 (V1、V2 ... Vm-1) があり、A には 2 つの未知数 (x と y) があります。A の要素は x と y の LINEAR 関数です。

私は scipy.fsolve と sympy.nsolve で宿題をしましたが、行列形式の方程式を受け入れないようです。また、200 の方程式があり、各方程式にはすべての未知数が含まれているため、変数を 1 つずつ削除することは実際的ではありません。

私はPythonに比較的慣れていないので、どんな助けでも大歓迎です。

ありがとう

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

python - 所定のパラメータを scipy.optimize.fsolve に渡す

Python を使用して 6 つの非線形方程式系を解こうとしています。9 つの変数があり、そのうちの 3 つが事前に決定されています (6 つの未知数を持つ 6 つの方程式のシステムが残ります)。問題は、それが 3 になる可能性があることです。事前に知る方法はありません。

ここに方程式があります(興味がある場合)。

c11*c12 + c21*c22 + c31*c32 = 0

c11*c13 + c21*c23 + c31*c33 = 0

c12*c13 + c22*c23 + c32*c33 = 0

c11*c21 + c12*c22 + c13*c23 = 0

c11*c31 + c12*c32 + c13*c33 = 0

c21*c31 + c22*c32 + c23*c33 = 0


注:これは、解決が最も迅速/簡単であると私が想定した方法です。別の可能な表現は次のとおりです。


私の質問は、これらのうち 3 つを修正済みとして設定し、scipy.optimize.fsolve (またはより適切なモジュール) で残りのパラメーターを解決する方法はありますか?

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

r - 非線形方程式R

私は非線形方程式を当てはめるのが好きです(gとhはパラメーターです):

q = g *(h ** age)/(1 + g *(h ** age));
年齢=50の場合はq=.05を制限します。つまり、g *(h * 50)/(1 + g(h ** 50)= .05。
これは、年齢= 50の場合、予測値qがデータのqと等しいことを意味します。

助けてくれてありがとう。

0 投票する
0 に答える
447 参照

curve-fitting - 非線形フィッティング

いくつかの実験データがあり、最小二乗法 (Levenberg-Marquardt) を使用してパラメーターを取得するためにそれらを適合させたいと考えています。

私は 2 つの非線形方程式を使用しており、いくつかの計算プログラム (Origin と Matlab) を使用しています。

1 つ目は次のとおりです。

パラメータを持つ非線形方程式 (Alfa1、Alfa2、Alfa3、Alfa4、Alfa5)

2 番目のフィッティング方程式は次のとおりです。

有理関数、つまり分子が 2 次関数、分母が 4 次多項式関数

この 2 つの方程式を使用して適合させたいのですが、その方法がわかりません。実験データが必要な場合は、ここに投稿できます。

どうもありがとうございました、

エドゥアルド

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

matlab - matlabで非線形方程式を解く

非線形方程式のシステムを解く方法を知る必要がありますが、パラメータを変更すると、そのパラメータを変更するたびにそのシステムの結果がスローされます (すべての結果が必要です)。パラメータを変更する for を考えました。方程式を解くと、各結果がスプレッドシートに保存されます。問題は、システムを解くことができず、結果として非記号的な数値をスローすることです。解決する必要があるシステムの例を示します。

変更するパラメータでは、スプレッドシート内のとaの対応する値を保持していきます。xy

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

matlab - 非線形関数パラメーター推定 - matlab、lsqnonlin、fzero

フィッティングの問題で困っています。私が得たエラーから、境界が正しく定義されておらず、解決策を見つけることができなかったと思います。どんな助けでも大歓迎です。

同じ問題を解決するための別の方法も受け入れられます。

説明

次のタイプの非線形関数のパラメーターを推定する必要があります。

パラメータPAR = [A,B,C,D]が範囲内にあることを前提としています

コード

問題を解決するために、Matlab 関数lsqnonlinとを使用していますfzero。使用された単純化されたコードを以下に報告します。

問題は次の 4 つの関数に分けられます。

  1. parameterEstimation- (lsqnonlin 関数のラッパー)
  2. objectiveFunction_lsq- (パラメータ推定の目的関数)
  3. yFun- (変数 y の値を返す関数)
  4. objectiveFunction_zero- (y の計算に使用される非線形方程式の目的関数)

エラー

データに対してコードを実行すると、この警告が表示されます

警告: 下限の長さが > length(x) です。余分な境界を無視する

そしてこのエラー

ユーザーが指定した最初の目的関数の評価に失敗しました。LSQNONLIN は続行できません

これにより、境界が正しく使用されていないか、正しく呼び出されていないと思いますが、問題は別の場所にある可能性があります。


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

r - ブートストラップされたnlsが不良データに適合している間の特異勾配エラー

独立変数と従属変数のセットを含むデータセットがあります。ブートストラップされた非線形最小二乗法を使用して、独立変数の各セットに関数を適合させたいと思います。場合によっては、独立変数は「高品質」です。つまり、関数に適度に適合します。他の場合、彼らは騒々しいです。

いずれの場合も、nls()パラメーターの推定値を取得するために使用できます。ただし、データにノイズが多い場合、ブートストラップはエラーをスローしますError in nls(...) : singular gradient。ノイズの多いデータへのフィッティングが失敗する理由は理解できnlsますが、たとえば、反復回数が多すぎると収束に失敗するためですが、それが特異な勾配エラーである理由と、品質の低いリサンプリングされたデータセットしか取得できない理由はわかりません。

コード:

nlsはデータを完全に適合させることができます(場合によっては、のようaに、モデルがデータに適合しているとは思えませんが。

mmFormulaのデータへのNLS適合

ブートストラップは、高品質のデータに対して正常に機能します。

しかし、質の悪いデータではありません

このエラーの原因は何ですか?plyrそして、多くのブートストラップシミュレーションを同時に実行するために使用したいので、どうすればよいですか?

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

python - Python AttributeError:cos

Python2.7を使用して方程式を数値的に解こうとしています。これはコード全体です:

これは私が持っているトレースバックです:

sympy、numpy、および pylab ライブラリを使用しています。したがって、cos 関数に問題はありません。何か助けはありますか?