問題タブ [polynomials]
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.
language-agnostic - 多項式の素朴な評価は精度にどのように悪いのですか?
このコードレビューの回答では:
https://codereview.stackexchange.com/a/59405/11633
次のものが見つかりました(ネストされた引用符が先にあります!):
すばらしい本 Numerical Recipes in C++ を引用させてください (ただし、適用可能です)
多項式を次のように評価しないことを十分に知っていると仮定します。
さらに悪いことに!)、
(コンピュータ) 革命が来れば、そのような犯罪行為で有罪とされたすべての人は即座に処刑され、彼らのプログラムは処刑されません!
(あなたのエディションのページは、分析インデックスの「ダジャレ、特に悪い」というエントリの下にあります。私はこの本が大好きです。)
そうしない理由は 2 つあります。精度とパフォーマンスです。多項式を評価する正しい方法は次のようになります。
推奨されない方法で実装するとパフォーマンスが大幅に低下することがわかりますが、精度が低下することはありません。精度にどのように悪いのですか?
私はその本を見つけましたが、引用された部分のどこにもこの情報はありませんでした.
python - python No plot または NameError UPDATE プロットは表示されますが、本来あるべき姿ではありません
polyfit と polyval を介して多項式を使用して「ローリング スプライン」を作成しようとしています。
ただし、「オフセット」が定義されていないというエラーが発生するか、スプラインがプロットされません。
私のコードは以下のとおりです。提案や洞察を提供してください。私はポリフィット初心者です。
アップデート
そこで、コードを編集して、この小さなデータ サンプルには当てはまらない if 条件をすべて削除しました。
コードが目的の点をプロットできるようにする変更も追加しました...しかし、プロットが表示されるようになったので、新しい問題が発生しました。
プロットは、コードが指示する順序の多項式ではありません。
プロット コマンドの前に、多項式と chisqred の順序を表示するための出力を追加して、それが機能していることを確認しました。
java - equals-comparator とハッシュ関数を別々に提供できるマップ
多項式、特にその乗算をモデル化しようとしているときに、次の問題に遭遇します。乗算中、2 つの多項式の個々の単項式が乗算され、もちろん、(3x^2 y + 5x y^2) * (x + y) が発生する可能性があります。結果には 3x^2 y^2 と 5 x^2 y^2 が含まれており、これらをすぐに足し算で結合したいと考えています。
当然、単項式の x^2 y^2 の部分を (ハッシュ) マップのキーとして使用して、さまざまな係数 (例では 3 と 5) を合計したいと思います。しかし、私が想定する単項オブジェクトには、マップ キーの一部であってはならない係数も当然含まれているはずです。
もちろん、係数を無視するように単項式オブジェクトの equals/hashcode を書くこともできます。しかし、数学的に単項式が別の単項式と明らかに等しいのは、係数も等しい場合に限られるため、これはまったく間違っているように感じます。
中間演算に係数のない単項式オブジェクトを導入することも正しくないように見えます。
マップを使用する代わりに、リストを使用して、係数を無視する専用のコンパレーターで二分探索を使用できます。
キーの equals/hashcode を使用せず、専用のマップを実装する以外に、単項式を融合する方法についてより良いアイデアはありますか?
matlab - 配列を多項式に変換する
MATLAB にはppval
、多項式をポイント単位で評価する関数があり、適切な形式の多項式とそれを入力として評価するポイントを指定すると、評価のベクトルが返されます。これで、特定の多項式の係数を見つける関数を作成しました。係数の配列を指定して、それを多項式形式に変換する関数はありppval
ますか? それとも、多項式を自分で評価する関数を作成する必要がありますか?
c - C: 循環連結リスト - 項を多項式に追加
私は循環リンクリストに不慣れで、まだいくつかの問題があります...多項式と2つの変数(e = xの指数、およびc =係数)が与えられたCでこの関数を作成しようとしています) この cx^e を多項式に追加します。ただし、いくつかの条件があります。
- 多項式は昇順でなければなりません
- 同じ指数を持つ項がある場合は、項を追加し、別の項を作成しないでください。
- 指数が各用語の「ヘッダー」になる循環リンクリストを使用する必要があります。
- 各多項式の最初の項は expo = -1 になり、多項式の 2 番目の項 (expo >= 0) を指します。また、多項式の最後の項は最初の項を指します。
私はすでにこのコードを作成しようとしましたが、何らかの理由で問題なくコンパイルされていますが、永遠に実行され続けています (セグメンテーション違反などは発生しません)。
皆さん、私が間違っていることを教えてください。私は本当にあなたの助けが必要です。申し訳ありませんが、初心者のことかもしれませんが、しばらくお待ちください。私はこれにかなり慣れていません。
どんな助けでも大歓迎です。Linux Mint 17 Cinnammon で実行しています。