問題タブ [bsxfun]

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 投票する
0 に答える
926 参照

matlab - MATLAB - サンプル データを使用した半球ドメインとの積分の近似

レンダリング方程式の積分部分は、(立体角に関して) 半球の範囲にわたって積分を実行します。
次のコードを使用して、対応する被積分関数の値を持つサンプルを生成できます。

私が今直面している問題は、これらのサンプルで積分または近似を行う方法ですか?

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

matlab - matlab で多くの内積を効率的に計算する

高次元で多くの内積を計算する必要があるプロジェクトに取り組んでいます。常に matlab で操作をベクトル化する必要があることは承知していますが、これを行う方法がわかりません...

2 つの行列がAあり、 が次元で計算する内積の数であるとしBますN x dNd

for ループを使用して実装するのは簡単ですが、もっと効率的な方法があるのではないかと思います。for ループの実装は次のようになります。

これをベクトル化する方法を知っている人はいますか? bsxfunある時点で出てくるはずだと思いますが、これを使用する方法がわかりません...

前もって感謝します!

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

matlab - 非数値データに「bsxfun」を使用する

bsxfun非数値データに相当するものはありますか?

たとえば、2 つのセル配列に格納されている文字列のすべてのペアを比較したいとします。

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

performance - forループを使用せず、速度に影響を与えずに要素単位の操作を適用する方法

RGB 画像マトリックスがあり、それにいくつかの空間フィルターを適用したいとします。一般に、要素ごとの操作を適用したいと考えています (これは大学の課題であり、画像処理ツールボックスで利用可能な組み込み関数を使用することは許可されていないことに注意してください)。フィルターを関数として記述し、bsxfunこれらの関数を画像に適用することにしました。

簡単な例は次のとおり
です。画像のすべてのグレー レベルに 50 を追加し、200 を超えるすべてのグレー レベルを 200 に置き換えたいとします。これが私のコードです。

testは次の形式の関数です。

このコードは機能しません。2 行目の "in > a" は 0 と 1 を含む行列 (すべての要素が 1 ではなく、1 であってはならないことを意味します) であるため、デバッガーはifステートメントに分岐しません。

この関数の書き方と、パフォーマンスや実行速度に影響を与えずに空間解析とフーリエ解析を画像に適用する方法を教えてもらえますか?

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

matlab - MATLAB 行列のより効率的な減算

2 つの行列を互いに減算しています。dataClim は、30 年間の各月 (12 か月) の平均データです。dataAll は 1257 日間の日次データです。20100101 から 20130611 までの各月の日次データから平均月次データを差し引く必要があります (t = 1:31 は 1 月、t = 32-57 は 2 月、12 月までは 363:393 が 1 月です)。 .

このコードは機能しますが、より効率的で退屈でない方法があるかどうか疑問に思っていました。月の日数が 28 から 31 まで変化するため、どのようにループを作成するのかわかりません。

私が思いついたアイデアの 1 つは、最初に各月の日を連結してから、各月の dataAnom を作成することでした。それはおそらくさらに遅いです。

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

matlab - CUBLAS または THRUST を介して CUDA で bsxfun をプログラミングしますか?

nx1 項目を持つベクトル V と nxm 項目を持つ行列 M があります。V と M のすべての列を CUDA で合計したい。問題を回避するのに役立つ THRUST または CUBLAS の方法はありますか?

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

matlab - bsxfun は本当に要素ごとに適用されますか?

次の関数があるとします。

bsxfunそして私は次のように呼び出します:

本当にbsxfun要素ごとprintAndKeepXに、引数(x, y)がそれぞれ(1, 1)(2, 1)(3, 1)および(4, 1)であると、4 回呼び出されることが予想されます。ただし、出力は、次のように一度だけ呼び出されることを示してい(x, y)ます([1 2 3 4], 1)

なんで?「要素」と見なされるものをどのように知ることができますか?

編集:
ドキュメントでは、呼び出された関数が 2 つのスカラーを受け取ることもあれば、ベクトル/行列とスカラーを受け取ることもあることが示唆されています。これらのどれが起こるかを確実に知ることができますか?

の通常バージョンと GPU バージョンの両方に興味がありbsxfunます。