問題タブ [equation-solving]

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

equations - 微分演算子を使用して微分方程式を解くための良いライブラリはありますか?

微分演算子を使用して (1 次だけでなく) 微分方程式を解くための優れたライブラリ?C/C++/PHP/C#/Actionscript/Javascript で書かれたほうがよい

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

math - ディガンマ関数を含む連立方程式を解くための最も効率的な方法は何ですか?

ディガンマ関数を含む連立方程式を解くための最も効率的な方法は何ですか?

私はベクトルvを持っていて、すべてのiについて次のようにベクトルwを解きたいです。

digamma(sum(w))-digamma(w_i)= v_i

w_i> 0

gsl関数gsl_sf_psiを見つけました。これは、ディガンマ関数です(ある種の系列を使用して計算されます)。方程式を減らすために使用できるIDはありますか?ソルバーを使用するのが最善の策ですか?私はC++0xを使用しています。どのソルバーが最も使いやすく高速ですか?


私の予備調査によると、ディガンマは簡単に反転できません(逆ディガンマを検索すると、バイナリ検索で機能するアルゴリズムが得られます)。したがって、システム全体が単純化されないことは理にかなっています。

したがって、ソルバーを使用すると、2つの問題が残ります。ディガンマの計算が非常に遅いという事実に対処することと、w_i> 0であるという制限に対処することです。そうしないと、ディガンマ(w_i)がw_i=0でクラッシュします。

最初の問題については、最近計算されたディガンマの値のキャッシュを実装する必要があると思いました。これは良い考えだと思いましたが、求根アルゴリズムがどのように機能するかについてはよくわかりません。

私の考えは、2番目の問題を解決することでした。w'_i= log(w_i)を見つけることでした。そうすれば、w'_iは全線上にあります。これはいい考えかしら。digamma(exp(w'))を直接見つける関数はおそらくないのでしょうか?また、w'-> wからのマッピングはある程度の精度を失い、w'の2つの要素が同じwにマッピングされる可能性があるため、アルゴリズムはw'空間でステップを実行し、物事を改善しない可能性があります。

優れた高速の求根アルゴリズムを見つけるという問題はまだあります。私は別の質問でそれを尋ねるかもしれないと思います。

ありがとう...

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

matlab - MATLAB でベッセル関数を含む方程式を数値的に解くにはどうすればよいですか?

私は、一方に第 1 型のベッセル関数を含み、他方に第 2 型の修正ベッセル関数を含む方程式に直面しました。その正確な解 (u の値) を知りたいです。式は次のとおりです。

ここで、s は 2 などの任意の整数です。

w は u の関数として次のように記述できます。

したがって、この方程式には変数が 1 つしかありません: u

MATLAB は初めてです。これにどのようにアプローチすればよいかわかりません。誰でも私を助けてもらえますか?

0 投票する
6 に答える
304 参照

math - 方程式の解を見つける簡単な方法

次の式があります。

lam指定されたを検索する関数を作成する必要がありますN

今、私は単純なループを使用してそれをやっています:

ループを使用せずに、より正確に解決するにはどうすればよいですか?

0 投票する
8 に答える
13357 参照

c++ - What good libraries are there for solving a system of non-linear equations in C++?

In a C++ application I'm coding, I need to solve a system of non-linear equations (N equations, N unknowns).

The systems I'm solving will be rather small (up to 10 equations/unknowns), so performance is not going to be a real issue. I've searched the web a bit for a non-linear solver library, and I couldn't get to something which looks easy to use (got to NOX and C/C++ Minpack, but both seem to be an overkill for my need).

Any thoughts and ideas of easy-to-use libraries for this purpose?

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

math - 合計関数を解く方法

私はmatlabで次の定式化を解決する必要があります:

式1

フォーミュラー2

forlular3

ウェーブレット係数 x =(x_1,..,x_L) でいっぱいのベクトルを指定すると、ベータ値を探しています! matlabでこの関数を解決するには? fzero を使用できますか?

編集:現時点で私はこれを試しました:

しかし、まだエラー..

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

algorithm - レベル サーフェスの視覚化

この方法を使用してレベル サーフェス ビジュアライザーを開発しようとしています (これが標準的な方法なのか、それとももっと良い方法があるのか​​はわかりません)。

    1. 任意の関数f(x,y,z)=k(k は定数) と、x、y、および z の境界を取ります。また、2 つのグリッド パラメーター stepX と stepZ を取得します。
    2. レベル曲線の問題に還元するには、zMin から zMax まで stepZ 間隔で繰り返します。そうf(x,y,z)=k => f(x,y,fixedZ)=k
    3. stepX で同じ手順を実行して、問題を次のように減らします。f(fixedX, y, fixedZ)=k
    4.f(fixedX, y, fixedZ) - k = 0その方程式を満たす y のすべての値を求めます (ある種の根探索アルゴリズムを使用して)。
    5. 生成されたすべてのポイントについて、それらをレベル カーブとしてプロットします (内側のループは、指定された z でレベル カーブを生成し、異なる z 値に対してレベル カーブのスタックが存在するだけです)。
    6 (オプション)。レベル セットに属するこれらのレベル カーブ/ポイントからメッシュを生成します。

私が直面している問題は、ステップ 4 にあります。その方程式を満たす y の可能な値の数 (より具体的には、y の一意の実際の値の数) を事前に知る方法はありません。

また、プログラムを可能な限り一般的なものにしようとしているので、元の関数f(x,y,z)=kを平滑性や多項式などの制約に制限しないようにしていますが、k 以外はレベル サーフェスに必要な定数でなければなりません。

複数のルートがある場合でも、関数のルートを識別できるアルゴリズム (CAS/シンボリック解法を使用しない) はありますか? 領域全体で符号が変化しない可能性があるため、二分法がこれに苦労することは知っていますが、セカント/ニュートン法はどのように機能しますか? セカント/ニュートン法を使用できる関数のセットはどれですか?また、与えられた 2 つの範囲内ですべての一意の実根を検出して見つけることができますか? または、レベル サーフェスを生成/視覚化するためのより良い方法はありますか?

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

matlab - MATLAB での類似用語のグループ化

MATLAB で連立方程式を解くプログラムをコーディングしようとしています。MATLAB で同様の項をグループ化し、それらの係数を行列に入れる方法があるかどうか疑問に思っていましたか? 手で係数を入力するだけでよいことはわかっていますが、うまくいけば、この小さなプログラムを再利用して節点解析を実行したいと考えています。

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

haskell - 実数で解くハスケル方程式

GHCiで遊び始めたところです。リストジェネレーターは基本的に、与えられたセット内の方程式を解くことがわかります。

(予想どおり、ルートは1つだけ検出されます)

さて、解が指定された範囲に含まれているのに、なぜℝの結果で方程式を解くことができないのですか?

実数集合内でそのような方程式をどのように解くことができますか?

編集:申し訳ありませんが、0.1もちろん、私は意味しました。

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

python - Python の方程式ソルバー

次のような単純な方程式が与えられます。

y = x - z他の 2 つ (つまり:と)をバインドすると、3 番目の変数を取得できますz = x - y。これをコードに入れる簡単な方法は次のとおりです。

明らかに、方程式を取得して解析し、単純化して同じ効果を得ることができます。しかし、そうすることが車輪の再発明になると信じています。それで、私の既製のホイールはどこですか?