まず、質問を簡単に定式化するのは簡単ではないため、タイトルを何にすればよいかわかりませんでした。
行列値関数 (k) とベクトル値関数 (X) を畳み込む必要があり、それぞれが R^3 で定義されています。これは MATLAB で行う必要があるため、当然、離散化されたバージョンを実行します。k と X をそれぞれ 5 次元配列と 4 次元配列で表現する予定です。これはちょっと重そうですけどね。それを行うためのより良い方法があるかどうか知っていますか?
畳み込みを直接行う代わりに、fft
k と X の両方を 'ing してフーリエ空間に移動し、ゼロをパディングし、それらを乗算してから を使用しますifft
。これは同じ結果を生成し、はるかに高速に実行されるはずです。
ここでの私の質問は、これらの配列/行列を簡単に乗算する方法があるかどうかです。k(i,j,k,:,:)*X(i,j,k,:)
つまり、3 つのネストされたループを使用せずに、すべての i、j、k に対して行う方法はありますか?