問題タブ [accumarray]
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 - ファンシー ビニング操作 - 相対ビン内操作をベクトル化する方法は?
私は今晩少しワイルドになり、分析中のいくつかの財務データを操作するために、ヒストグラム ビンでパーティーをすることにしました。
しかし、私が「ビン内」操作を適用したい方法が、研究や遊びを通してもすぐに明らかにならず、煩わしいことを証明しているため、パーティーはうんざりしているようです.
欲望:列内で「ビニング」インデックスを使用して、ある種の行単位の「ビン内」操作を実行したいと思います。この操作では、独自のビンの最初の要素への相対参照が行われます。操作が違いを取る次の単一ビンの例を検討してください
A=
相対演算は、列 2 のすべての要素と列 2 の最初の要素との差をとります。
bin_differencing_function(A)
=
さて、さらに便利なのは、bin_differencing_function(A) に任意の数のビンを持つ二重列行列を供給できることです。
A=
better_bin_differencing_function(A)
=
最も便利なのは、better_bin_differencing_function(A) に任意の数のビンを持つ二重列行列を供給できることです。
A=
best_bin_differencing_function(A)
=
大きな望みは、(可能であれば) ベクトル化を利用して、長さが 1 から 200 の間で変化する多くのビンを操作するコードを作成することです。
fun(x) は for ループを持つ関数です。
Windows 7 で MATLAB 7.10.0.499 (R2010a) を実行しています。例によってこのクエリが長くなってしまい申し訳ありません。
arrays - オーディオ ファイルの結合エントロピー
そこで、2 つの情報源の結合エントロピーを計算するためのシクルベースの重い関数を試した後、この便利な MATLAB 関数 を見つけaccumarray
、次のコードを試しました。
ここで、fonte1
とfonte2
は情報源、1xN
配列です。これは、両方のソースに正の整数値しかない例では問題なく機能しましたが、オーディオ ファイル (つまり、値が -1 から 1 の範囲の配列) で使用しようとすると、エラーが発生し続けました。非負の整数を取得するために、各配列に 1 を追加して (0 から 2 の範囲に)、それらを 100 倍して数値を丸めてみましたが、それでも機能しません。
このコードのアイデア/代替案は大歓迎です。
matlab - 列内の文字列の出現回数を数える - Matlab
次のデータを含む列があります:
サイズ: 100x7
データを円グラフで表示したい。これを行うには、この列に USA がどれくらい含まれているかを知る必要があります。
関数 unique,accumarray について読みましたが、成功
しませんでした。その方法についていくつか提案をしたいと思います。
ありがとう。
matlab - Matlab で Accumarray をプロットするための 1 時間ごとの x 軸の設定
matlab では、accumarray() を使用して、3 列の整数を持つ新しいベクトルを作成しました。列 1: 日付 (日付のみ); 列 2: 時間。列 3: サンプル値。
現在、グラフをプロットするための私のコードには次のものが含まれます。
x 軸に 1 時間 (または 2 時間) ごとにラベルを付ける方法を見つけるのに苦労しています。ありがとう
matlab - ループの累積和 matlab
嵐の期間を決定するために、特定の嵐のすべての観測と複数の嵐の間のハリケーン観測間の連続した時間 (変数 'hrs') を累積的に合計しようとしています。これは私が持っているものです:
私の目標は、各ストーム ID の時間を合計することなので、accumarray を使用するとうまくいくと思いましたが、うまくいきませんでした。これが私が試したものです。
次に、cumsum も試しましたが、ストーム ID が同じ場合にのみ cumsum を使用する方法がわかりませんでした。
誰かに何かアイデアがあれば、大歓迎です!ありがとう。
matlab - MATLAB の安定した accumarray
MATLAB の組み込み関数は、関数を 4 番目の引数としてaccumarray
受け入れます。fun
これは、で同じ添え字を持つfun
の要素の各サブセットに適用されます。ただし、ドキュメントには次のように記載されています。val
subs
の添え字
subs
が線形インデックスに関してソートされていない場合fun
、入力データの値の順序に依存してはなりません。
この制限がなく、サブセットが によって与えられるのと同じ順序を採用することを保証するの安定したバージョンをどのように実装できますか?accumarray
val
例:
これの期待される出力は、安定している11:20
場合です。accumarray
実際、出力は次のとおりです。
私たちの実装は以下をもたらすはずです:
matlab - Matlab での高速ローリング相関
2 つのベクトルの移動/ローリング相関を計算する関数を導出しようとしていますが、この関数を配列関数に適用する必要があるため、速度が優先されます。私が持っているもの(遅すぎる)はこれです:
for
ローリング ウィンドウ インデックスを生成してから を適用する方法を知っていれば、ループをより効率的に実行できると考えていますaccumarray
。助言がありますか?