問題タブ [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 - Matlab で accumarray を理解する
本当に必要なコードを書くには、accumarray を理解する必要があります。
http://www.mathworks.co.kr/kr/help/matlab/ref/accumarray.htmlを理解しようとしました
ほとんどの例は明確でした。
しかし、例 2 の 1 番目の例では、
B の (1,2) 番目の要素は 1 でなければなりません
なぜなら
また、例2の2番目の例では、
B1 の (1,2) 番目の要素は -2 ではなく 2 にする必要があります
なぜなら
そして私も思った
B1 の (4,1) 番目の要素は -1 ではなく 1 にする必要があります
なぜなら
私は何が欠けていますか?
訂正してください。自分のコードを書くには、accumarray を深く理解する必要があります。
matlab - 2D 同時確率分布の計算
正方形の中に多くの点があります。正方形を多くの小さな長方形に分割し、各長方形に含まれるポイントの数を確認したい、つまり、ポイントの同時確率分布を計算したい。私は、ループを使用し、あまり効率的ではない、いくつかの常識的なアプローチを報告しています。
時間、メモリ、およびおそらくループを回避するという点で、より効率的に行うにはどうすればよいですか?
編集 -->私もこれを見つけました。これは、これまでに見つかった最良の解決策です。
ただし、Statistics Toolbox が必要です。
編集 --> chappjc によって提案されたテスト ソリューション
matlab - 対になった値をどう扱うか?
独立変数値のベクトルがあるとします
および応答変数のベクトル
エラーバーを使用してプロットしたいのですが、この方法は、独立変数の数百の可能な値に対して機能する必要がありますu
。v
問題はエラー バーをプロットすることではなく、ベクトル ペアを作成する方法にあります[mean(u(find(v==0.5)), mean(u(find(v==1)), mean(u(find(v==2))]
。sorting 以外にこれを行う標準的な自動化された方法はありますか? v
sorted の値を選択し、それらの値と一致する場所v
のインデックスを見つけますか? これは非常に非効率に思えます。v
v
python - numba の numpy 配列へのアクセスの最適化
私は最近numbaに出くわし、自家製の C 拡張機能をより洗練された autojit された Python コードに置き換えることを考えました。残念ながら、最初の簡単なベンチマークを試したときは満足できませんでした。ここでは numba は通常の python よりもはるかに優れているようには見えませんが、ほぼ C に似たパフォーマンスを期待していました。
これは私のマシンに与えます:
pypi 0.11.0 の最新の numba バージョンを実行しています。コードを修正する方法はありますか?
matlab - 整数列の出現回数を累積するには?
私は整数のシーケンスを持っていますarr = [1,5,2,2,5,1]
.
Counter
たとえば、整数が何回出現するかを教えてくれる構造体が必要です。
次のコードがありますがisfield
、この方法では使用できないため機能しません。
では、整数シーケンスの出現回数を累積できるエレガントな方法はありますか?
mysql - cell 配列で accumarray を使用する Matlab
私は Matlab を初めて使用しますが、他のプログラミング言語の経験はある程度あります。Matlab で MySQL からインポートした非常に大きなテーブルがあります。次のようなセル配列として与えられます。
そして、出力を次のようにしたい:
したがって、列「キー」に同じ番号を持つ行を結合したいと思います。一方、列「売上」と「重量」を合計し、列「名前」を保持したいと思います(各「キー」には同じ「名前」がありますが、各「名前」には複数の「キー」を含めることができます)
for ループでこれが可能であることはわかっていますが、多くのテーブルを同様の異なる方法で操作する必要があるため、これは計算集約的です。
同様の問題を読んだことがありますが、これは accumarray を使用して解決できますが、セル配列としてサブを持つ accumarray でこれを行うことはできますか? そして、それはどのように見えるでしょうか?
matlab - テーブル (またはデータセット) の行のグループに集計関数を適用する方法は?
変数の中に何らかの要因( n 個の異なる値、または「レベル」を持つ) を含むtable
(またはdataset
) オブジェクトがあるとします。また、一連の行を入力として取り、出力として単一の集計値 (別名「集計」) を返すカスタム集計関数があるとします。A
X
agg
統計的データ分析で非常に一般的な操作の例はA
、因子の値に従っての行をグループ化し、グループ内の行で構成される配列X
に適用することです。agg
このような操作の結果は、 n行と 2 つの変数を持つ新しいtable
(またはdataset
、のクラスに応じてA
) になります。これらの変数の最初の 1 つには という名前を付け、 の係数のn 個の個別の値を含める必要があります。2 番目の変数には、適切な (できればユーザー指定の) 名前を付けて、行グループに適用した結果を含める必要があります。対応するレベル。X
X
A
agg
X
私が言ったように、これは MATLABtable
やdataset
オブジェクトなどのデータ構造に対して実行する非常に標準的な操作であるため、それを行う組み込みの方法があると期待していましたが、見つかりません。
たとえば、次のA
ように定義します。
また、みましょX
うTrafficLight
agg
(もちろん、agg
ここでは例をできるだけ単純にするためにこれを使用しています。実際agg
には、それほど単純ではありません。)
私が考えている典型的なgroup_aggregate
関数は通常、入力引数として (何らかの順序で) 集計関数、計算された集計の出力の列の名前table
(またはdataset
)、およびグループ化する 1 つ以上の変数の名前を取ります。に。したがって、この例では、そのような関数の呼び出しとその出力は次のようになります。
ところで、上記の結果を得るために、私はこの絶望的な小さな獣を呼び起こしました。
たとえば、X
変数のさまざまなクラスの値などに対して、組み込みのソリューションがより堅牢であることを願っています。