Is the a max size for conv2

1 回表示 (過去 30 日間)
Thomas Hoyle
Thomas Hoyle 2017 年 2 月 27 日
コメント済み: Thomas Hoyle 2017 年 2 月 28 日
Hi I'm having a problem with conv2 every time I try to use it matlab gets stuck in "busy" and I cant do anything. If I try to pause the script it just gets stuck in "pausing". I am using 2D matrices with sizes 3909x4000 double. Has anyone ecountered this problem or has a solution any help would be appreciated.
  2 件のコメント
Jan
Jan 2017 年 2 月 27 日
Please post the relevant part of the code. One input is [3909x4000] and the other?
Thomas Hoyle
Thomas Hoyle 2017 年 2 月 28 日
This is the code I am using
PSF = deconvreg(output,input);
Pnz = deconvreg(output, PSF);
acc = conv2(Pnz, PSF);
The input, ouput, PSF and Pnz are all 3909x4000

サインインしてコメントする。

採用された回答

Guillaume
Guillaume 2017 年 2 月 27 日
As discussed by Yair, matlab's convolution seem to be using the standard sliding window algorithm, which if you're using on two 3909x4000 is going to result in a great deal of operations (~2e14 sliding positions). As also discussed in that post, you can use the fact that the fourier transform of the convolution is the product of the Fourier Transforms of the inputs.
There's an implementation of it on the FileExchange .

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by