問題タブ [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.
matlab - matlab 最適化ツールボックス - 多項式フィッティング
多項式曲線を当てはめたい x 値と y 値のセットがあります。この関数は、最大 9 次の多項式の形式を取る必要があります。
ここで、a(n) は私の係数です。
私が持っている2つの問題があります。この曲線は、常に 9 次多項式の形をとるとは限りません。それは 3 次、6 次、またはその他 (最大 9 次まで) の場合があります。
最適化ツールボックスを使用してこれを設定する方法がわかりません。何か案は?
次に、計算された y 値が常に正になるように制約を設定できますか?
どうもありがとう、
以下の現在のコード。
関数;
matlab - シンボリック係数をもつ多項式の根を求める
課題の一環として、自動車のサスペンション システムの運動方程式を導出する必要がありました。本質的には、スプリング マス ダンパーの問題です。車両質量 M1、車輪質量 M2、ばね定数 k1 & k2、および減衰定数 c の値は与えられていません。運動方程式を導出し、路面 (入力) と結果として生じる車体の変位 (出力) を関連付ける伝達関数を導出しました。この伝達関数の極を決定する必要があるため、特性方程式 (分母) の根を見つける必要があります。問題は、前述の変数の値がなく、MATLAB で 4 次多項式をシンボリックに因数分解するか、根をすぐに計算しようとしていることです。値を仮定することはできず、象徴的に解決する必要があります。
私は MATLAB の経験があまりないので、そのすべての機能を認識していません。
私が解こうとしている特性方程式は次のとおりです。
(M1*M2)*s^4 + c*(M1+M2)*s^3 + ((M1*k1)+(M1*k2)+c^2+(M2*k2)-c)*s^2 + k1*c*s + ((k1*k2)-(k2^2))
前もって感謝します。
numpy - 多項式で構成される行列の乗算
numpy/scipy を使用して、多項式で構成される行列を乗算することは可能でしょうか?
具体的には、エントリが a+7*b+c のように見える 120 × 120 の疎行列を乗算したいと考えています。
正直なところ、私はこれを行うために一生懸命努力していません。numpy に多項式モジュールがあるようですが、経験がありません。誰かがこれを見て、「明らかに可能だ、これをやれ」と言ってくれることを願っています。
私が見たことから、関連する質問が 1 つあります:エントリが多項式である行列
java - 分割されない多項式文字列
私は2つの弦を持っています。
文字列を分割したい。係数と指数を見つける必要があります。次のような置換メソッドを使用しました:s1.replaceAll("//s+","");
したがって、すべての空白を削除します。分割方法を使用する場合。
私の出力は次のとおりです。
しかし、それは答えではありません。一つの分割方法を使って、すべてのパーツを分割していきます。
しかし、特殊コード「+」と「-」が一緒の場合、文字列を分割したいと思います。しかし、私は再びしませんでした。空白を削除せずに文字列を分割できますか?
python - Python で変数値を割り当てる前に変数に対して操作を実行する
わかりました、基本的に私の問題は、数学の問題を「紙の上で」解くことから、プログラミングによってそれらを解くことへと考え方を変えることです。説明させてください:変数に値を割り当てる前に、変数に対して操作を実行できるかどうかを知りたいです。(1-x)**n
たとえば、最初に na 値を割り当ててから、それを特定の from に変えてから、xa 値または値を与えることができるようなものがある場合のように。私が十分に明確でなかった場合: n=2 の場合、最初に方程式を形1-2x+x**2
にしてから、次のステップで x 値を処理できますか?
n 次のベジエ曲線を計算して描画するためのコードを書きたいと思います。これにはバーンスタイン多項式を使用しているため、方程式が 3 つの部分で構成されていることに気付きました。私はそれらを計算し、それらを1つのリストに入れています。2番目の部分は、ある種の係数でもある制御点の座標であり、それらを別のリストに入れます。ここで難しい部分があります。変数を持つ方程式の部分です。Bernsteins は気圧座標 (u と 1-u を意味します) で作業しています。方程式のこの部分の N 次式は次のとおりです。
ここで、n は曲線度で、0 から n に進み、U は変数です。U は実際には正規化された変数です。つまり、値は 0 から 1 であり、後で特定のステップ数 (1000 など) で反復したいということです。 .しかし、問題は、前述の式を使用しようとすると、エラーが発生し続けることです.Pythonはuをどうするかを知らないためです.ネストされたループについて教えた.最初のループはuの値を0から1まで反復し、2番目は0 から n までの方程式について言及しましたが、それが正しい解かどうかはわかりません。また、結果をチェックする方法もわかりません。どう思いますか? PS: コードをアップロードしていないのは、私が問題を抱えている部分を開始することさえできないためです。また、コードの残りの部分から分離されていると思いますが、間違っている可能性もあります。しかし、問題の解決に役立つと思われる場合は、アップロードできます。
c - 停止するまで多項式を微分する再帰的な C プログラム
上記のプログラムは一次導関数のみを計算しますが、すべての導関数を計算するプログラムが必要です ex 2x^3+2x^2+3x+1 f1= 6x^2+4x+3 f2=12x+4 f3=12
このようにプログラムを変更する必要がありますが、その方法がわかりません。助けてください//
java - カスタム リンク リストで並べ替えを実装するにはどうすればよいですか?
リンク リストがどのように機能するかを理解しようとしてきましたが、概念を視覚化するのに苦労しています。複数のアルゴリズムを知っていますが、それらを実装する方法がわかりません。
ここに私のコードがあります:
これは、多項式のデータを格納するためのものです。私はそれらを降順にしようとしています。そして最終的に、同じ指数を持つノードの係数を合計します。
バブルソートアルゴリズムを使用すると思いますが、リンクを再配置する方法がわかりません。また、remove() メソッドを追加して、1 つのノードを削除し、ソートされるまで最後に追加することも考えていました。しかし、毎回新しいノードを作成し続ける必要があるため、これは非常に非効率的です。
PS: 文字列を取り込んで LL に変換する Polynomial クラスもあります。載せる必要はないと思いますが、必要なら載せます!ありがとう!
python - MATLAB の Legendre 関数に相当する Python
現在、Pythonで時系列データを分析しようとしています。そのためのガイドラインとして、やりたいことのほとんどすべてを実行する MATLAB スクリプトを使用することにしました。ここまでは問題なく動作していましたが、そのスクリプトで使用されているルジャンドル多項式に出くわしました。
NumPy の実装を試してみましたが、(多かれ少なかれ) MATLAB functionと同じ結果が得られる方法を見つけることができませんでした。
基本的に、これは私が知りたいことです。Python コードで MATLAB コードと同じ結果を得るにはどうすればよいですか?
ちょっとしたデモンストレーションとして、
与えます:
私のPythonバージョンは次のようになりますが、私が試した方法は次のようになります:
そして得られます:
少し奇妙なことがいくつかありますが、残念ながら、ルジャンドル多項式のようなものについて聞いたのはこれが初めてであり、NumPy のドキュメントもウィキペディアも理解に大きな助けにはならないため、それらをテストする方法についての手がかりがありません。それ。
python - アニメーション チャネル スプラインの多項式係数を評価するには?
ビデオ ゲームのアニメーション ファイルをリバース エンジニアリングしていて、レンガの壁にぶつかりました。アニメーション セットは次のように構成されています。
各アニメーション セット:
- アニメーション セット名: アタック
- 骨の数: 22
- 期間: 1.03333
続いて、セット内の各ボーンに対して:
- 骨の名前: 骨盤
- ボーン ID: 0
- キー間隔: 0.0333333
- キー: 31
そして、次のデータは 7 つのチャネル (Position[x,y,z]
およびRotation quaternion[x,y,z,w]
)に分割されます。
Position[x,y,z] は、定数または元の値のいずれかであり、ここでは問題ありません。
しかし、Rotation quaternion[x,y,z,w] チャネルは、N セグメントと N 係数を持つスプラインとして解釈され、スプラインを 3D プログラムに打ち込めるデータに評価する方法を正確に理解するのに苦労しています。
各チャネルのスプラインが Y としてプロットされ、X が正規化された時間 (0 から 1) に等しいことを知っています。
このQ + A(多項式係数の評価)は、私が必要としているもののようです:
係数 a0、a1、a2、a3........an を持つ次数 n の多項式は次の関数です。
p(x)= a0+a1*x+a2*x^2+a3*x^3+.....+an*x^n
そしてPythonコードとして書かれています:
しかしlst
、各セグメントの係数を とx = Duration / Keys
.
最初のアニメーション セットの「Rot.x」チャネルとそのセグメントと係数は次のとおりです。
セグメント = 3
セグメント 1
- 係数1: 0.0198117
- 係数2: 0.00826611
- 係数3: 0.0521381
- Coeff4: -0.00210184
セグメント 2
- Coeff1: -0.181324
- 係数2: 1.09073
- Coeff3: -1.77627
- 係数4: 0.920407
セグメント 3
- Coeff1: -0.0335189
- 係数2: 0.265863
- Coeff3: -0.359457
- 係数4: 0.147228
私がこれを見ている方法は、各セグメントが持続時間の 1/3 (1.03333) であり、さらに各セグメントの係数がキーの数の 1/3 (31) で評価されることですが、上記のpoly(lst, x)
関数を使用した出力為に
- セグメント 1 = 0.019 ~ 4.90 ~ -7.15
- セグメント 2 = -0.18 ~ 20985.41
- セグメント 3 = -0.03 から 3296.11 まで
出力が高すぎるため、明らかに私は何か間違ったことをしています。
どんな助けでも大歓迎です!