3次元配列のガウシアンフィッティング
7 views (last 30 days)
Show older comments
3次元配列に対して、t軸に対してガウシアンフィットを行いピーク位置を検出するプログラムを作りたいと思います。
この時、に対してすべての要素に対して、各々のピーク位置を算出するには、
for文を用いる以外にどのような手法が考えられますか。
出来るだけ処理時間の掛からない手法を検討したいと思います。
Accepted Answer
Kenta
on 5 May 2020
コメントのほうありがとうございました。
こちら改めて、回答とさせてください。
for文なしに書くことも可能と思います。例えば3D配列aをt方向に分割して、t-by-1のセル配列を作って、cellfunを使うなどです。他にもやり方はあると思います。
ただ、for 文で a(x,y,t1) のピーク位置検出はどのようなコードでされていますか?例えば、findpeaks関数でしょうか?forなしに書くと速くなるのはそうだと思うのですが、forの中身を工夫して、満足いく時間内に実行することも可能と思います。そのほうが自由度が高まってよいかもしれません。若干不規則な場合もありますが、並列でfor文をする、parforを使っても速くなります。
ただ、各ループが完全に独立していないといけなかったり、予期せぬ難しさもあるかもしれません。
0 Comments
More Answers (0)
See Also
Categories
Find more on 記述統計 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!