問題タブ [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.

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

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) を実行しています。例によってこのクエリが長くなってしまい申し訳ありません。

0 投票する
0 に答える
239 参照

arrays - オーディオ ファイルの結合エントロピー

そこで、2 つの情報源の結合エントロピーを計算するためのシクルベースの重い関数を試した後、この便利な MATLAB 関数 を見つけaccumarray、次のコードを試しました。

ここで、fonte1fonte2は情報源、1xN配列です。これは、両方のソースに正の整数値しかない例では問題なく機能しましたが、オーディオ ファイル (つまり、値が -1 から 1 の範囲の配列) で使用しようとすると、エラーが発生し続けました。非負の整数を取得するために、各配列に 1 を追加して (0 から 2 の範囲に)、それらを 100 倍して数値を丸めてみましたが、それでも機能しません。

このコードのアイデア/代替案は大歓迎です。

0 投票する
4 に答える
374 参照

matlab - 列内の文字列の出現回数を数える - Matlab

次のデータを含む列があります:
サイズ: 100x7

データを円グラフで表示したい。これを行うには、この列に USA がどれくらい含まれているかを知る必要があります。
関数 unique,accumarray について読みましたが、成功
しませんでした。その方法についていくつか提案をしたいと思います。
ありがとう。

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

matlab - Matlab で Accumarray をプロットするための 1 時間ごとの x 軸の設定

matlab では、accumarray() を使用して、3 列の整数を持つ新しいベクトルを作成しました。列 1: 日付 (日付のみ); 列 2: 時間。列 3: サンプル値。

現在、グラフをプロットするための私のコードには次のものが含まれます。

x 軸に 1 時間 (または 2 時間) ごとにラベルを付ける方法を見つけるのに苦労しています。ありがとう

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

matlab - ループの累積和 matlab

嵐の期間を決定するために、特定の嵐のすべての観測と複数の嵐の間のハリケーン観測間の連続した時間 (変数 'hrs') を累積的に合計しようとしています。これは私が持っているものです:

私の目標は、各ストーム ID の時間を合計することなので、accumarray を使用するとうまくいくと思いましたが、うまくいきませんでした。これが私が試したものです。

次に、cumsum も試しましたが、ストーム ID が同じ場合にのみ cumsum を使用する方法がわかりませんでした。

誰かに何かアイデアがあれば、大歓迎です!ありがとう。

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

matlab - MATLAB の安定した accumarray

MATLAB の組み込み関数は、関数を 4 番目の引数としてaccumarray受け入れます。fun

これは、で同じ添え字を持つfunの要素の各サブセットに適用されます。ただし、ドキュメントには次のように記載されています。valsubs

の添え字subsが線形インデックスに関してソートされていない場合fun、入力データの値の順序に依存してはなりません。

この制限がなく、サブセットが によって与えられるのと同じ順序を採用することを保証するの安定したバージョンをどのように実装できますか?accumarrayval

例:

これの期待される出力は、安定している11:20場合です。accumarray実際、出力は次のとおりです。

私たちの実装は以下をもたらすはずです:

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

matlab - Matlab での高速ローリング相関

2 つのベクトルの移動/ローリング相関を計算する関数を導出しようとしていますが、この関数を配列関数に適用する必要があるため、速度が優先されます。私が持っているもの(遅すぎる)はこれです:

forローリング ウィンドウ インデックスを生成してから を適用する方法を知っていれば、ループをより効率的に実行できると考えていますaccumarray。助言がありますか?