問題タブ [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.
matlab - 行列の行でジェネリック関数を呼び出す
Matlab で一般的なカーネル関数のカーネル行列を効率的に計算したいと考えています。これは、 のすべてのk(x,y)行
と のすべての行xを計算する必要があることを意味します。ここに私が望むものを計算するいくつかのmatlabコードがありますが、かなり遅いです.XyY
この問題に対する他のアプローチはありbsxfunますXかY?
matlab - matlabコードの行列次元エラー
matlabで特定のコードを試していますが、エラーが発生します
Error using ==> plus
Matrix dimensions must agree.
この行で
どこでk=w*alpha;、[LL,LH,HL,HH] = dwt2(X,'db1','d');そしてX=imread('cameraman.tif');
X=im2double(X);
このエラーをどのように解決すればよいか教えてください。
編集:私はここの投稿の1つを調べて、bsxfunを使用してみました
しかし、これは問題を解決しません
編集2:コードはdwtアルゴリズムを使用した電子透かしに関するものです。インターネットを閲覧しているときにこのコードを見つけましたが、上記で説明したエラーが発生します。
エラーが発生するまで、コードの前半を投稿しました。
私の返信がエラーの解決に役立つことを願っています
matlab - 下付き文字のインデックスは、実数の正の整数または論理値のいずれかである必要があります
3行の行列の各行を合計する関数を作成します。
次に、1行3列の行列を使用して、前の結果を分割します。
しかし、私はそのエラーを受け取り続けます。下付き文字は10進数や負の数であってはならないことを私は知っています。しかし、私はまだ犯人を見つけることができません。助けてください、ありがとう。
例えば:
A =
B = 7 8 9
それなら私は
アップデート:
犯人: 前のコマンドラインで変数としてmean_access_timeを使用しました。
matlab - MATLAB - 負の値の bsxfun
コマンドを使用してデータセットを正規化しています
この関数を 2 つの異なるデータ セットで試しました。1 つは負の値も持っていました。他の人はしませんでした。負の値のないデータセットは、 0 と 1 の間で完全に正規化されました。また、負の値を持つものは適切に正規化されていませんでした。これは修正できますか? データセットを負の値で正規化する別の方法はありますか?
matlab - Matlab - ゼロによる行列除算 - ゼロと NaN
精度行列 sigmaT を共分散行列に変換しようとしています。私は2つのアプローチを試しました:
と
sigmaT の一部の要素はゼロであるため、ゼロによる除算が発生します。最初のループベースのソリューションでは、0 による除算が発生する要素を 0 として保持し、2 番目のアプローチでは要素を NaN に設定します。
私の質問は次のとおりです:なぜそれらは異なる動作をするのですか?2番目の1行のアプローチを変更してループベースのアプローチとして動作させるにはどうすればよいですか? 後者のソリューションは、大規模な行列では大幅に高速になるはずです。
matlab - bsxfunを使用して一致値2の行列をカウントします
c=bsxfun(@eq,b,a)2つの行列の値を比較するために使用します。しかし、一致しない値を数えるのは難しいと思います。たとえば、私はこのコードを使用します
と結果
値の最初の一致行列を2番目の一致で保存したい。例えば
何か提案はありますか?ありがとう..
matlab - 非常に大きな行列の各行で演算を実行するときに、MATLAB で for ループを回避するにはどうすればよいですか?
私はMATLABを使用しています。非常に大きな 疎行列があり、この行列の各列に対してlogicalorを実行したいと考えています。疎行列を埋めるための単一の操作でbsxfunある単一のforループがあります。logicalここでは、何をしようとしているのかを確認するために、いくつかの偽の小さなデータを含むサンプル関数を含めます。
graph_temp約1Mの行と列com_matではるかに大きく、コードはループに対して非常に遅くなります。SOには別の関連する質問がありますが、その背後にある理論を理解していないため、これらのソリューションをこの問題にも適用できるかどうかを確認できません。for
for ループのボトルネックを回避するために、C++ 関数を作成するか、mex何らかのネストを作成arrayfunして、各logical/操作がより大きな関数のサブルーチンとして呼び出されるようにすることを考えていました。bsxfun
matlab - bsxfunを使用したMatlab Vectorizing行列減算
Y=rand(1000,28);したがって、列ごとの違いを見つけたい配列があります。
を使用してこれを行うことはできますbsxfunか?
matlab - Matlab: マトリックスを操作する小さなメモリの問題についてのあなたの意見
MATLAB のメモリ消費に関してちょっとした質問があります。
私のアーキテクチャ:
- Linux OpenSuse 12.3 64 ビット
- 16 GB の RAM
- Matlab 2013a 64 ビット
サイズが62 x 11969100(yと呼ばれる)のdoubleの行列を処理します
次のことを試すと:
または単に
OUT of MEMORY エラーが発生しました (両方の場合)。
マトリックスに割り当てられた RAM スペースを計算しました:
62 x 11969100 x 8 = 5.53 GB
どこが間違っているの?!
どうもありがとう!