問題タブ [equation]

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 投票する
24 に答える
94076 参照

algorithm - 優先順位付きの方程式 (式) パーサー?

バイナリ (+、-、​​|、&、*、/ など) 演算子、単項 (!) 演算子、および括弧を処理する単純なスタック アルゴリズムを使用して、方程式パーサーを開発しました。

ただし、この方法を使用すると、すべての優先順位が同じになります。演算子に関係なく左から右に評価されますが、括弧を使用して優先順位を強制できます。

したがって、現在 "1+11*5" は 60 を返します。予想される 56 ではありません。

これは現在のプロジェクトに適していますが、後のプロジェクトで使用できる汎用ルーチンが必要です。

明確にするために編集:

優先順位を付けて方程式を解析するための優れたアルゴリズムは何ですか?

実装が簡単で、利用可能なコードのライセンスの問題を回避するために自分でコーディングできることを理解することに興味があります。

文法:

文法の質問がわかりません - これは手書きで書いたものです。YACC や Bison を必要としないほど単純です。「2+3 * (42/13)」などの式で文字列を計算するだけです。

言語:

私はこれを C で行っていますが、言語固有のソリューションではなく、アルゴリズムに興味があります。C は低レベルなので、必要に応じて別の言語に簡単に変換できます。

コード例

上記で説明した単純な式パーサーのテスト コードを投稿しました。プロジェクトの要件が変更されたため、プロジェクトに組み込まれていないため、パフォーマンスやスペースのためにコードを最適化する必要はありませんでした。これは元の詳細な形式であり、容易に理解できるはずです。演算子の優先順位に関してさらに何かを行う場合は、プログラムの残りの部分と単純に一致するため、おそらくマクロ ハックを選択します。ただし、これを実際のプロジェクトで使用する場合は、よりコンパクトで高速なパーサーを使用します。

関連する質問

数学パーサーのスマートな設計?

-アダム

0 投票する
5 に答える
52818 参照

math - 一定時間後の加速体の位置を計算する

特定の時間 (例: 1 秒) 後の加速体 (例: 車) の位置を計算するにはどうすればよいですか?

加速していない運動体の場合は線形の関係なので、加速している物体の場合はどこかに正方形が含まれていると思います。

何か案は?

0 投票する
10 に答える
11523 参照

c++ - 線形数学方程式の方程式ソルバー

アプリケーションでいくつかの数式を解く必要があります。このような方程式の典型的な例を次に示します。

追加のルール:

  • b%10 = 0
  • b> = 0
  • b <= 100
  • 各数値は整数でなければなりません
  • ..。

a、b、c、d、eの可能な解集合を取得したいと思います。

そのような方程式を解くために使用できる、オープンソースまたは商用のライブラリはありますか?はいの場合、彼らはどのような結果をもたらしますか?

0 投票する
5 に答える
2003 参照

python - 最小値の不等式を解く

私は、方程式と不等式のセットに要約されるプログラミングの問題に取り組んでいます。

入力と リスト およびとから構成される のX絶対最小値を与える の値を解きたいと思います。CDABa[0 - n]b[0 - n ]

現時点では Python で問題を解決していますが、一般的な問題は言語に依存しません。

明確化の更新: 係数x[0 - n]は負でない整数のセットに制限されます。

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

perl - 曲線をヒストグラム分布に適合させるにはどうすればよいですか?

先日、ある人から整数パーティションについて電子メールで質問されましたが (私は整数パーティションを生成するために Perl モジュール Integer::Partition をリリースしていたため)、答えることができませんでした。

背景: ここに 7 のすべての整数パーティションがあります (各行の合計は 7 です)。

ここで、各パーティションの長さを見て、各長さの数を数えると、次のようになります。

... 1 つのパーティションの長さは 1 (7) で、もう 1 つのパーティションの長さは 7 (1 1 1 1 1 1 1) です。長さ 3 の 4 つのパーティションがあります: (5 1 1)、(4 2 1)、(3 3 1)、(3 2 2)。

N の数が大きい場合、分割長の分布をグラフにすると、原点に向かって歪んだ非対称曲線が現れます。興味がある場合は、N=40 の次のパーティション長カウントをグラフ化してください。

1 20 133 478 1115 1945 2738 3319 3589 3590 3370 3036 2637 2241 1861 1530 1236 995 790 627 490 385 297 231 176 135 101 77 56 42 30 22 15 11 7 5 2 1 1 1 1 1 1 1 1

これらの分布カウントの生成に興味がある場合は、私が使用したコードを次に示します。

(注: 私のコンピューターでは、N=90 の生成に約 10 分かかります)。

私の質問は、観測された分布曲線を一致させるために使用できる式は何ですか? それはガウス(ガウス分布は非対称になることができますか?)またはポアソン分布ですか、それとも何か他のものですか?

Nについてどうやって解くのですか?高校の数学を思い出せば、導関数が 0 と交差するときを解くことでピークを特定できます。私はウェブを検索しましたが、戻ってくるのは難解な数学論文だけです。私はいくつかのコードが必要です:)

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

php - 浮動小数点を使用した Php 精度 - 複雑な方程式 = 1

私は次の方程式を持っています

1 - ((.5 * 0.83333333333333) ^ 2 + (.5 * 0.83333333333333) ^ 2 + (.5 * (1 - 0.83333333333333)) ^ 2 + (.5 * (1 - 0.83333333333333)) ^ 2)

Php5 では、これは .63 ではなく 1 という結果になります (OSx と Centos の 2 つのマシンで)。このような方程式を行うには、Php の bc 数学関数のみを使用する必要がありますか?

0 投票する
5 に答える
1608 参照

language-agnostic - 角運動量伝達方程式

2つの剛体間の角運動量の伝達を計算する方法について、比較的簡単に実装できる方程式の良い参考文献はありますか?

私はこの種のものをしばらく探していましたが、問題の特にわかりやすい説明は見つかりませんでした。

正確には、この質問は次のようになります。2 つの剛体が摩擦のない (ほぼ) 表面上を移動しています。エアホッケーだと思ってください。2 つの剛体が接触し、離れます。さて、角運動量を考慮しないと、方程式は比較的単純です。問題は、物体間の角運動量の移動で何が起こるかということです。

例として、2 つの物体に角運動量がまったくないと仮定します。彼らは回転していません。それらが斜めの角度で相互作用する場合 (移動ベクトルがそれらの重心の線と一致しない)、明らかにそれらの運動量の一定量が角運動量に変換されます (つまり、それぞれが一定量のスピンを取得します)。そのような方程式は何ですか?

これはおそらく多体剛体システムを使用して計算することで解決できますが、リアルタイムで計算できるように、より最適化された計算を実行したいと考えています。プロジェクトに含めるための方程式、またはこれらの計算のオープンソース実装へのポインタに関するアイデアはありますか? 正確には、シミュレーションの単一の「ティック」内でシミュレートする必要がある相互作用の数のため、これはかなり最適化された計算である必要があります。

編集: わかりました、このトピックに関する正確な情報はあまりないようです。そして、「プログラマーのための物理学」タイプの本は、ちょっと頭がおかしいと思います。アルゴリズムのコード実装は必要ありません。アルゴリズムを理解したい (または少なくとも私のためにスケッチした)。そのようにしてのみ、ニーズに合わせて適切に最適化できます。この種のトピックに関する数学的な参考文献はありますか?

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

.net - Word から数式と画像を抽出する

MS Word 文書から方程式 (および場合によっては画像) をプログラムで抽出する方法はありますか? 私はあちこちグーグルで検索しましたが、歯を沈めて作業できるものをまだ見つけていません。可能であれば、VB.NET または C# でこれを実行できるようにしたいのですが、DLL をハックするのに十分な言語を選択できます。ありがとう!

編集:現在、Word 2003 から数式を抽出することを検討していますが、2007/Open XML に変換する必要がある場合は問題ありません。

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

equation - 2 変数線形回帰の方程式

線形回帰関数を持たないプログラミング言語を使用しています。すでに単一の変数線形方程式を実装しています。

y = Ax + B

この Stack Overflow answerと同様のソリューションを使用して、データから A 係数と B 係数を単純に計算しました。

変数が追加されると、この問題が幾何学的に難しくなることはわかっていますが、私たちの目的のために、もう 1 つ追加するだけで済みます。

z = Ax + By + C

x、y、および z の配列を指定して、A、B、および C を解くことができる閉じた形式の方程式、または任意の言語のコードを持っている人はいますか?

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

math - CurrentGroupを計算するための方程式は何ですか

次のようにグループ化された場合、ページが含まれる現在のグループを取得するための方程式を理解しようとします。

変数:

探す:

1000個のアイテムがあり、グループサイズが5の場合、200個のグループ(TotalItems / GroupSize)があります。これは、CurrentPage22がグループ5に到達する必要があることを意味します