問題タブ [orthogonal]

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

scipy - scipy.linalg.orth() の「自動カットオフ」とは何ですか?

http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.linalg.orth.html

どうすれば調整できますか?予想よりもベースが少なくなっています。Google は、最初の数ページで明らかに有用な結果を提供してくれません。

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

python - scipy の凡例多項式における直交性の問題

scipy.special.legendre()最近、 ( scipy のドキュメント)に関する興味深い問題に出くわしました。ルジャンドル多項式はペアごとに直交する必要があります。ただし、ある範囲でそれらを計算しx=[-1,1]、異なる次数の 2 つの多項式のスカラー積を作成すると、常にゼロまたはゼロに近い値が得られるとは限りません。関数の動作を誤解していませんか? 以下に、ルジャンドル多項式の特定のペアのスカラー積を生成する短い例を書きました。

単一の多項式のプロットは、実際にはうまく見えます。 次数 0 から 5 までのルジャンドル多項式

しかし、スカラー積を手動で計算すると、異なる次数の 2 つの凡例多項式を要素ごとに乗算して合計します (500 は正規化用です)...

...出力として次の値を取得します。

最初の多項式とそれ自体のスカラー積は (予想どおり) 1 に等しく、他の結果の半分はほぼゼロですが、次の値がいくつかあり、その10e-3理由はわかりません。私もscipy.special.eval_legendre(n, x)関数を試しました – 同じ結果:-\

scipy.special.legendre()これは機能のバグですか?それとも私は何か間違ったことをしていますか?私は建設的な回答を探しています:-)

乾杯、マーカス

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

python - ベクトルの 2D 直交射影を線に numpy すると間違った結果が生じる

350 のドキュメント スコアがあり、それらをプロットすると、次のような形状になります。

ここに完全な配列を投稿しました(以下のコードのリストにpastebin対応しています)。dataPoints

得点分布

さて、もともとelbow pointこの曲線の を見つける必要がありましたが、この記事L-shapeのおかげで見つかりました。

次のプロットでは、赤いベクトルpはエルボ ポイントを表します。の正射影に対応するベクトルx=(?,?)上の点 (黄色い星)を見つけたいと思います。bpb

ここに画像の説明を入力

プロットの赤い点は私が得たものです (明らかに間違っています)。次のようにして取得します。

pここで、への射影がb開始点と終了点、つまりsx(黄色の星)によって定義される場合、 proj_p_onto_b = x - s、したがってx = proj_p_onto_b + s?

私はここで間違いを犯しましたか?

編集: @cxw への回答として、エルボ ポイントを計算するためのコードを次に示します。

編集:プロットのコードは次のとおりです:

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

r - Rで適用(または他の反復関数)を使用してベクトルの行列を作成する

八量体のセット (8 文字のセット) に対して直交エンコード関数を実行し、nx160 の数値の行列として返す必要があります (n はデータの八量体の数です)。

直交符号化関数は次のとおりです。

一部の人が尋ねたように、これが機能していない部分ではない場合でも、例を次に示します。

この関数は個々のオクタマーで動作していますが、lapply を使用しようとすると、結果は 160 個の数値ベクトルになり、今回はコードが変更されています (そして無意味です)。

結果は次のようになります。

オルソコード機能は実際に機能しています。私が知る必要があるのは、データフレームからオクタマーを取得し、それらに対して機能を実行する方法です。その結果、次のようなマトリックスになります。

出力は n 行 160 列の行列でなければなりません。実行する必要があるデータでは、結果のマトリックスは 947x160 になるはずです。

何か案は?