ブロック処理
3 views (last 30 days)
Show older comments
ブロック処理に関しての質問です。
例えば、3×3でのブロック処理を行う際、NaNをのぞいた計算をするためfunctionでomitnanを使用したいと考えていますが、その時計算上分母の数は変わらないのですか?nanが含まれている箇所も分母は9になるのですか?それともnanが除外されるのですか?
初歩的な質問だと思いますが、ご教授お願い致します。
2 Comments
Accepted Answer
Atsushi Ueno
on 31 Jan 2022
>計算上分母の数は変わらないのですか?nanが含まれている箇所も分母は9になるのですか?それともnanが除外されるのですか?
⇒NaNが除外され、残った数値の和を残った数値の個数で割った結果が得られます。
【解説】
blockproc関数はNaNの有無に関わらず一連の処理をするだけなので本質問にblockproc関数は無関係です。
「mean関数の'omitnan'オプションがどのように振る舞うのか?」という質問に帰結します。
mean2([1 2 3; 4 5 6; 7 8 NaN]) % mean2関数に'omitnan'オプションは設定不可
mean([1 2 3; 4 5 6; 7 8 NaN], [1 2]) % mean2関数と同じ意味。NaNが含まれると結果もNaNになる
mean([1 2 3; 4 5 6; 7 8 NaN], [1 2], 'omitnan') % 1+2+...+8 = 36, 36/4.5 = 8
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!