問題タブ [vectorization]
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.
sorting - 同じ順序を使用して 2 つの行列の行を並べ替える
重複の可能性:
マトリックスを別のマトリックスで並べ替える
同じサイズの 2 つの行列 A と B が与えられた場合、A を 2 番目の次元 (行) で並べ替え、同じ順序を行列 B に適用したいと考えています。この現在のコードをベクトル化することは可能ですか?
c - C コードを手動でベクトル化する最良の方法
高速化するために、いくつかの C コードを手動でベクトル化したいと考えています。その目的 (Cell プロセッサまたは CBE 上の SPE) のために、SIMD 演算を使用したいと考えています。コードは元々物理的なベクトル計算 (速度、加速度など) を使用しているため、コードの一部には次のような多くの操作があります。
この時点で、v と r をベクトルに変換することを考えました (SPE では、1 つのベクトルに 4 つの単一の float 値を含めることができます)。疑似コードでは、次のようになります。
このアプローチは価値があると思いますか、それともより良いアプローチを考えられますか?
ありがとう
arrays - isrealを使用した場合の一貫性のない結果
この簡単な例を見てください。
コードをベクトル化するために、私は次のことを試みました。
しかし、結果は同じではありません。
私は何が間違っているのですか?
r - R の for ループを最適化された関数に置き換える方法 (lapply?)
各行に時間イベントを持つデータ フレームがあります。1 つの行には送信者のイベント タイプ (typeid=1) があり、もう 1 つの行には受信者のイベント タイプ (typeid=2) があります。送信者と受信者の間の遅延(時差)を計算したい。
次のスナップショットが示すように、私のデータは data.frame に編成されています。
遅延の計算を実行するには、calc_DelayVideo 関数を使用しますが、多数のレコード (~60000) を持つデータ フレームの場合は、多くの時間がかかります。
for ループをより最適化された R 関数に置き換えるにはどうすればよいですか? lapply を使用してそのような計算を行うことはできますか? もしそうなら、例を挙げていただけますか?
前もって感謝します、
matlab - MATLABの列ごとに異なる数の値を操作するためのベクトル化された方法はありますか?
MATLABでは、forループを使用するよりも、列ごとに個別の条件付きインデックスを処理するためのより簡潔な方法がありますか?これが私のコードです:
私の目標は、各列の値のセットの上位x%の平均を取ることです。上記のコードは機能しますが、もっと簡潔な方法があるかどうか疑問に思っています。
matlab - MATLAB でランダム ウォーク シミュレーションをベクトル化する方法
読みやすさを重視して、MATLAB でモンテカルロ シミュレーション モデルを書き直しています。このモデルには、(x,y,z) として表される多くの粒子が含まれており、一定の終了確率を持つ状態の小さなセットをランダム ウォークします。出力に関連する情報は、特定の状態で終了する粒子の数です。
シミュレーションには十分な粒子が必要なため、粒子ごとに個別に実行するには法外なコストがかかります。ベクトル化は MATLAB からパフォーマンスを引き出す方法のようですが、MATLAB でこのシミュレーションのベクトル化されたバージョンを作成する慣用的な方法はありますか?
これを達成するために頭を悩ませています - 各粒子と状態の組み合わせを表す (nStates x nParticles) マトリックスを作成しようとさえしましたが、このアプローチは、粒子が状態から跳ね返るため、読みやすさの点ですぐに制御不能になります。互いに独立して述べる。弾丸を噛んで、これにより適した言語に切り替える必要がありますか?
matlab - 連続する累乗の行列の作成をベクトル化する
x=1:100としましょうN=1:10。th列にエントリが含まれるx^Nようにマトリックスを作成したいと思います。i[1 i i^2 ... i^N]
forループを使用してこれを簡単に行うことができます。しかし、ベクトル化されたコードを使用してこれを行う方法はありますか?
arrays - 1行でMATLAB配列の1つの値を複数回インクリメントする
これは、forループを使用せずに、同じステートメントでMATLAB配列の1つの値を複数回インクリメントすることに関する質問です。
配列を次のように設定します。
そして、実行します:
明らかに20は無視されます。しかし、私はそれが含まれることを望みます、それで:
与えるだろう:
これをうまくベクトル化された方法で実行できるようにする関数はありますか?
(実際には、配列へのインデックス付けには複数のインデックスが含まれるため、同じ長さ[1 1 2 2 1 1 1 1 3 3 3](上記)ずつ増分する数値の配列などが含まれる可能性があります。)[20, 3]
matlab - 行列の値を見つけてベクトルに入れる
単純なはずなのですが、意外なことに、ここでも試行錯誤しても、この問題の答えは見つかりませんでした。
(ある条件に従って) 行列から値を取得し、その値をベクトルに配置したいと考えています。一致する値の添え字インデックスも必要です。大量のデータがあるため、for ループが出ています。
これは正しい(しかし反復的な)答えです:
試してみvalues = A(I,J)ましたが、これは n x 1 ではなく n x n です。
matlab - 対角線上の MATLAB 行列に値を割り当てる方法は?
NxN 行列 A、数値 1:N のサブセットで構成されるインデックス ベクトル V、および値 K があり、これを実行したいとします。
ベクトル化を使用して 1 つのステートメントでこれを行う方法はありますか?
例 A(何か) = K
ステートメントA(V,V) = Kは機能せず、対角外の要素を割り当てますが、これは私が望んでいるものではありません。例えば: